@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.
- package/bundles/coolon-angular-ui-powerups.umd.js +1787 -1051
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.d.ts +16 -14
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +16 -14
- package/esm2015/index.js +2 -2
- package/esm2015/lib/angular-ui-powerups.module.js +8 -8
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +1 -2
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -2
- package/esm2015/lib/place/components/abstract-place-navigation.component.js +75 -0
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +47 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +110 -16
- package/esm2015/lib/place/components/place-outlet/route-animations.js +12 -5
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +5 -39
- package/esm2015/lib/place/guards/leave-place.guard.js +20 -3
- package/esm2015/lib/place/guards/place-route.guard.js +29 -37
- package/esm2015/lib/place/index.js +11 -9
- package/esm2015/lib/place/nav-item.js +23 -0
- package/esm2015/lib/place/place-component-like.js +17 -0
- package/esm2015/lib/place/place-component.js +119 -20
- package/esm2015/lib/place/place-updates-service.js +16 -0
- package/esm2015/lib/place/place.decorator.js +1 -1
- package/esm2015/lib/place/place.module.js +6 -3
- package/esm2015/lib/place/place.service.js +28 -26
- package/esm2015/lib/place/route/default-parameter-sanitiser.js +78 -0
- package/esm2015/lib/place/route/parameter-decorators.js +15 -7
- package/esm2015/lib/place/route/parameter-definition.class.js +2 -2
- package/esm2015/lib/place/route/parameter-sanitiser.js +17 -2
- package/esm2015/lib/place/route/parameter-snapshot.js +382 -0
- package/esm2015/lib/place/route/parameter-type.js +3 -2
- package/esm2015/lib/place/route/route-parameter-sanitiser.js +73 -38
- package/esm2015/lib/place/visit.js +22 -0
- package/esm2015/public_api.js +2 -2
- package/esm5/coolon-angular-ui-powerups.js +16 -14
- package/esm5/index.js +2 -2
- package/esm5/lib/angular-ui-powerups.module.js +8 -8
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +1 -2
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -2
- package/esm5/lib/place/components/abstract-place-navigation.component.js +86 -0
- package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +61 -0
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +141 -20
- package/esm5/lib/place/components/place-outlet/route-animations.js +12 -5
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +6 -43
- package/esm5/lib/place/guards/leave-place.guard.js +20 -3
- package/esm5/lib/place/guards/place-route.guard.js +28 -37
- package/esm5/lib/place/index.js +11 -9
- package/esm5/lib/place/nav-item.js +23 -0
- package/esm5/lib/place/place-component-like.js +17 -0
- package/esm5/lib/place/place-component.js +137 -22
- package/esm5/lib/place/place-updates-service.js +16 -0
- package/esm5/lib/place/place.decorator.js +1 -1
- package/esm5/lib/place/place.module.js +6 -3
- package/esm5/lib/place/place.service.js +48 -29
- package/esm5/lib/place/route/default-parameter-sanitiser.js +85 -0
- package/esm5/lib/place/route/parameter-decorators.js +15 -7
- package/esm5/lib/place/route/parameter-definition.class.js +2 -2
- package/esm5/lib/place/route/parameter-sanitiser.js +17 -2
- package/esm5/lib/place/route/parameter-snapshot.js +474 -0
- package/esm5/lib/place/route/parameter-type.js +3 -2
- package/esm5/lib/place/route/route-parameter-sanitiser.js +100 -45
- package/esm5/lib/place/visit.js +22 -0
- package/esm5/public_api.js +2 -2
- package/fesm2015/coolon-angular-ui-powerups.js +1244 -673
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +1750 -1021
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/place/components/abstract-place-navigation.component.d.ts +13 -0
- package/lib/place/components/list-place-nav/list-place-nav.component.d.ts +8 -0
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +16 -8
- package/lib/place/components/place-outlet/route-animations.d.ts +1 -0
- package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +2 -9
- package/lib/place/guards/place-route.guard.d.ts +4 -4
- package/lib/place/index.d.ts +8 -6
- package/lib/place/nav-item.d.ts +5 -0
- package/lib/place/{i-place-component.d.ts → place-component-like.d.ts} +1 -1
- package/lib/place/place-component.d.ts +19 -8
- package/lib/place/place-updates-service.d.ts +10 -0
- package/lib/place/place.service.d.ts +11 -8
- package/lib/place/route/default-parameter-sanitiser.d.ts +13 -0
- package/lib/place/route/parameter-decorators.d.ts +6 -2
- package/lib/place/route/parameter-definition.class.d.ts +3 -3
- package/lib/place/route/parameter-sanitiser.d.ts +8 -1
- package/lib/place/route/parameter-snapshot.d.ts +46 -0
- package/lib/place/route/route-parameter-sanitiser.d.ts +13 -9
- package/lib/place/visit.d.ts +6 -0
- package/package.json +1 -1
- package/schematics/place-routes/index.js +8 -95
- package/schematics/place-routes/index.js.map +1 -1
- package/schematics/place-routes/place-builder.d.ts +19 -0
- package/schematics/place-routes/place-builder.js +109 -0
- package/schematics/place-routes/place-builder.js.map +1 -0
- package/schematics/place-routes/{scanner.d.ts → place-class-scanner.d.ts} +10 -6
- package/schematics/place-routes/{scanner.js → place-class-scanner.js} +43 -18
- package/schematics/place-routes/place-class-scanner.js.map +1 -0
- package/schematics/place-routes/place-def.d.ts +19 -4
- package/schematics/place-routes/place-def.js +54 -4
- package/schematics/place-routes/place-def.js.map +1 -1
- package/schematics/place-routes/templates/{place-routes.ts.template → places.ts.template} +14 -11
- package/esm2015/lib/place/i-place-component.js +0 -17
- package/esm2015/lib/place/i-place-service.js +0 -16
- package/esm2015/lib/place/route/resolved-parameter.js +0 -16
- package/esm2015/lib/place/route/resolved-route-parameter-snapshot.js +0 -106
- package/esm2015/lib/place/route/route-parameter-bindings.js +0 -150
- package/esm2015/lib/place/route/visit-snapshot.js +0 -7
- package/esm5/lib/place/i-place-component.js +0 -17
- package/esm5/lib/place/i-place-service.js +0 -16
- package/esm5/lib/place/route/resolved-parameter.js +0 -16
- package/esm5/lib/place/route/resolved-route-parameter-snapshot.js +0 -129
- package/esm5/lib/place/route/route-parameter-bindings.js +0 -167
- package/esm5/lib/place/route/visit-snapshot.js +0 -11
- package/lib/place/i-place-service.d.ts +0 -10
- package/lib/place/route/resolved-parameter.d.ts +0 -5
- package/lib/place/route/resolved-route-parameter-snapshot.d.ts +0 -12
- package/lib/place/route/route-parameter-bindings.d.ts +0 -17
- package/lib/place/route/visit-snapshot.d.ts +0 -2
- package/schematics/place-routes/scanner.js.map +0 -1
- package/schematics/place-routes/templates/place-router.ts.template +0 -33
|
@@ -2,23 +2,20 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
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 "
|
|
9
|
+
import * as i1 from "../place.service";
|
|
10
|
+
import * as i2 from "@angular/router";
|
|
14
11
|
export class PlaceRouteGuard {
|
|
15
12
|
/**
|
|
13
|
+
* @param {?} placeService
|
|
16
14
|
* @param {?} router
|
|
17
|
-
* @param {?} injector
|
|
18
15
|
*/
|
|
19
|
-
constructor(
|
|
16
|
+
constructor(placeService, router) {
|
|
17
|
+
this.placeService = placeService;
|
|
20
18
|
this.router = router;
|
|
21
|
-
this.injector = injector;
|
|
22
19
|
}
|
|
23
20
|
/**
|
|
24
21
|
* @param {?} route
|
|
@@ -26,20 +23,21 @@ export class PlaceRouteGuard {
|
|
|
26
23
|
* @return {?}
|
|
27
24
|
*/
|
|
28
25
|
canActivate(route, state) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
})
|
|
26
|
+
// Implement this when adding child routes.
|
|
27
|
+
// TODO: there are really two types of snapshot, ones with id's and ones without.
|
|
28
|
+
// Id snapshot are repesented by 2 url segments
|
|
29
|
+
// ID => [{'/basePath', params}, {'id', params}]
|
|
30
|
+
// NO ID => [{'/basePath', params}]
|
|
31
|
+
// console.log({urlSegments: route.url});
|
|
32
|
+
// const snapshot = ParameterSnapshot.create(PlaceComponent.getDefinition(route.component as Constructable<PlaceComponent>), route.paramMap);
|
|
33
|
+
// return this.placeService.sanitise(snapshot).then(sanitised => {
|
|
34
|
+
// if (sanitised.hasChanged(snapshot)) {
|
|
35
|
+
// return this.router.createUrlTree(snapshot.updateUrl(route.url))
|
|
36
|
+
// } else {
|
|
37
|
+
// return true;
|
|
38
|
+
// }
|
|
39
|
+
// });
|
|
40
|
+
return true;
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
43
|
PlaceRouteGuard.decorators = [
|
|
@@ -49,26 +47,20 @@ PlaceRouteGuard.decorators = [
|
|
|
49
47
|
];
|
|
50
48
|
/** @nocollapse */
|
|
51
49
|
PlaceRouteGuard.ctorParameters = () => [
|
|
52
|
-
{ type:
|
|
53
|
-
{ type:
|
|
50
|
+
{ type: PlaceService },
|
|
51
|
+
{ type: Router }
|
|
54
52
|
];
|
|
55
|
-
/** @nocollapse */ PlaceRouteGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceRouteGuard_Factory() { return new PlaceRouteGuard(i0.ɵɵinject(i1.
|
|
56
|
-
tslib_1.__decorate([
|
|
57
|
-
Trace(),
|
|
58
|
-
tslib_1.__metadata("design:type", Function),
|
|
59
|
-
tslib_1.__metadata("design:paramtypes", [ActivatedRouteSnapshot, RouterStateSnapshot]),
|
|
60
|
-
tslib_1.__metadata("design:returntype", Object)
|
|
61
|
-
], 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" });
|
|
62
54
|
if (false) {
|
|
63
55
|
/**
|
|
64
56
|
* @type {?}
|
|
65
57
|
* @private
|
|
66
58
|
*/
|
|
67
|
-
PlaceRouteGuard.prototype.
|
|
59
|
+
PlaceRouteGuard.prototype.placeService;
|
|
68
60
|
/**
|
|
69
61
|
* @type {?}
|
|
70
62
|
* @private
|
|
71
63
|
*/
|
|
72
|
-
PlaceRouteGuard.prototype.
|
|
64
|
+
PlaceRouteGuard.prototype.router;
|
|
73
65
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLXJvdXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBdUMsTUFBTSxFQUFnQyxNQUFNLGlCQUFpQixDQUFDO0FBRTVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUtoRCxNQUFNLE9BQU8sZUFBZTs7Ozs7SUFFMUIsWUFBNkIsWUFBMEIsRUFBbUIsTUFBYztRQUEzRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3hGLENBQUM7Ozs7OztJQUVELFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLDJDQUEyQztRQUMzQyxpRkFBaUY7UUFDakYsK0NBQStDO1FBQy9DLGdEQUFnRDtRQUNoRCxtQ0FBbUM7UUFDbkMseUNBQXlDO1FBQ3pDLDZJQUE2STtRQUU3SSxrRUFBa0U7UUFDbEUsMENBQTBDO1FBQzFDLHNFQUFzRTtRQUN0RSxhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLE1BQU07UUFDTixNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7WUF6QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBSlEsWUFBWTtZQUZ5QixNQUFNOzs7Ozs7OztJQVN0Qyx1Q0FBMkM7Ozs7O0lBQUUsaUNBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGFjZVNlcnZpY2UgfSBmcm9tICcuLi9wbGFjZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VSb3V0ZUd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGxhY2VTZXJ2aWNlOiBQbGFjZVNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIpIHtcbiAgfVxuXG4gIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgLy8gSW1wbGVtZW50IHRoaXMgd2hlbiBhZGRpbmcgY2hpbGQgcm91dGVzLlxuICAgIC8vIFRPRE86IHRoZXJlIGFyZSByZWFsbHkgdHdvIHR5cGVzIG9mIHNuYXBzaG90LCBvbmVzIHdpdGggaWQncyBhbmQgb25lcyB3aXRob3V0LlxuICAgIC8vIElkIHNuYXBzaG90IGFyZSByZXBlc2VudGVkIGJ5IDIgdXJsIHNlZ21lbnRzXG4gICAgLy8gSUQgPT4gW3snL2Jhc2VQYXRoJywgcGFyYW1zfSwgeydpZCcsIHBhcmFtc31dXG4gICAgLy8gTk8gSUQgPT4gW3snL2Jhc2VQYXRoJywgcGFyYW1zfV1cbiAgICAvLyBjb25zb2xlLmxvZyh7dXJsU2VnbWVudHM6IHJvdXRlLnVybH0pO1xuICAgIC8vIGNvbnN0IHNuYXBzaG90ID0gUGFyYW1ldGVyU25hcHNob3QuY3JlYXRlKFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24ocm91dGUuY29tcG9uZW50IGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KSwgcm91dGUucGFyYW1NYXApO1xuXG4gICAgLy8gcmV0dXJuIHRoaXMucGxhY2VTZXJ2aWNlLnNhbml0aXNlKHNuYXBzaG90KS50aGVuKHNhbml0aXNlZCA9PiB7XG4gICAgLy8gICBpZiAoc2FuaXRpc2VkLmhhc0NoYW5nZWQoc25hcHNob3QpKSB7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHNuYXBzaG90LnVwZGF0ZVVybChyb3V0ZS51cmwpKVxuICAgIC8vICAgfSBlbHNlIHtcbiAgICAvLyAgICAgcmV0dXJuIHRydWU7XG4gICAgLy8gICB9XG4gICAgLy8gfSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxufVxuIl19
|
|
@@ -5,27 +5,29 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @file Automatically generated by barrelsby.
|
|
7
7
|
*/
|
|
8
|
-
export {} from "./
|
|
9
|
-
export {} from "./
|
|
10
|
-
export { DEFINITION_META_DATA_KEY, PlaceComponent } from "./place-component";
|
|
8
|
+
export {} from "./nav-item";
|
|
9
|
+
export {} from "./place-component-like";
|
|
10
|
+
export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent } from "./place-component";
|
|
11
|
+
export {} from "./place-updates-service";
|
|
11
12
|
export { Place } from "./place.decorator";
|
|
12
13
|
export { PlaceModule } from "./place.module";
|
|
13
14
|
export { PlaceService } from "./place.service";
|
|
15
|
+
export {} from "./visit";
|
|
16
|
+
export { AbstractPlaceNavigationComponent } from "./components/abstract-place-navigation.component";
|
|
14
17
|
export { BusyOverlayComponent } from "./components/busy-overlay/busy-overlay.component";
|
|
15
18
|
export { EmptyStateComponent } from "./components/empty-state/empty-state.component";
|
|
19
|
+
export { ListPlaceNavComponent } from "./components/list-place-nav/list-place-nav.component";
|
|
16
20
|
export { PlaceOutletComponent } from "./components/place-outlet/place-outlet.component";
|
|
17
|
-
export { LEFT_RIGHT_PLACE_ANIMATION } from "./components/place-outlet/route-animations";
|
|
21
|
+
export { leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION } from "./components/place-outlet/route-animations";
|
|
18
22
|
export { TabbedPlaceNavigationComponent } from "./components/tabbed-place-navigation/tabbed-place-navigation.component";
|
|
19
23
|
export { LeavePlaceGuard } from "./guards/leave-place.guard";
|
|
20
24
|
export { PlaceRouteGuard } from "./guards/place-route.guard";
|
|
25
|
+
export { DefaultParameterSanitiser } from "./route/default-parameter-sanitiser";
|
|
21
26
|
export {} from "./route/json-types";
|
|
22
27
|
export { RouteId, RouteParameter, RouteParameterList } from "./route/parameter-decorators";
|
|
23
28
|
export {} from "./route/parameter-definition.class";
|
|
24
29
|
export {} from "./route/parameter-sanitiser";
|
|
30
|
+
export { ParameterSnapshot } from "./route/parameter-snapshot";
|
|
25
31
|
export { ParameterType } from "./route/parameter-type";
|
|
26
|
-
export {} from "./route/resolved-parameter";
|
|
27
|
-
export { ResolvedRouteParameterSnapshot } from "./route/resolved-route-parameter-snapshot";
|
|
28
|
-
export { RouteParameterBindings } from "./route/route-parameter-bindings";
|
|
29
32
|
export { Sanitiser, RouteParameterSanitiser } from "./route/route-parameter-sanitiser";
|
|
30
|
-
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGVBQWMscUJBQXFCLENBQUM7QUFDcEMsZUFBYyxtQkFBbUIsQ0FBQztBQUNsQyx5REFBYyxtQkFBbUIsQ0FBQztBQUNsQyxzQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyw0QkFBYyxnQkFBZ0IsQ0FBQztBQUMvQiw2QkFBYyxpQkFBaUIsQ0FBQztBQUNoQyxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvQ0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSwyQ0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCwrQ0FBYyx3RUFBd0UsQ0FBQztBQUN2RixnQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxnQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLDREQUFjLDhCQUE4QixDQUFDO0FBQzdDLGVBQWMsb0NBQW9DLENBQUM7QUFDbkQsZUFBYyw2QkFBNkIsQ0FBQztBQUM1Qyw4QkFBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLDRCQUE0QixDQUFDO0FBQzNDLCtDQUFjLDJDQUEyQyxDQUFDO0FBQzFELHVDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELG1EQUFjLG1DQUFtQyxDQUFDO0FBQ2xELDhCQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vaS1wbGFjZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ktcGxhY2Utc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5kZWNvcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2Uuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3JvdXRlLWFuaW1hdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbGVhdmUtcGxhY2UuZ3VhcmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS1yb3V0ZS5ndWFyZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvanNvbi10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItdHlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcmVzb2x2ZWQtcGFyYW1ldGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9yZXNvbHZlZC1yb3V0ZS1wYXJhbWV0ZXItc25hcHNob3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3JvdXRlLXBhcmFtZXRlci1iaW5kaW5nc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcm91dGUtcGFyYW1ldGVyLXNhbml0aXNlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvdmlzaXQtc25hcHNob3RcIjtcbiJdfQ==
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGVBQWMsWUFBWSxDQUFDO0FBQzNCLGVBQWMsd0JBQXdCLENBQUM7QUFDdkMsbUZBQWMsbUJBQW1CLENBQUM7QUFDbEMsZUFBYyx5QkFBeUIsQ0FBQztBQUN4QyxzQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyw0QkFBYyxnQkFBZ0IsQ0FBQztBQUMvQiw2QkFBYyxpQkFBaUIsQ0FBQztBQUNoQyxlQUFjLFNBQVMsQ0FBQztBQUN4QixpREFBYyxrREFBa0QsQ0FBQztBQUNqRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvQ0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxzQ0FBYyxzREFBc0QsQ0FBQztBQUNyRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvRUFBYyw0Q0FBNEMsQ0FBQztBQUMzRCwrQ0FBYyx3RUFBd0UsQ0FBQztBQUN2RixnQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxnQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQywwQ0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLDREQUFjLDhCQUE4QixDQUFDO0FBQzdDLGVBQWMsb0NBQW9DLENBQUM7QUFDbkQsZUFBYyw2QkFBNkIsQ0FBQztBQUM1QyxrQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQyw4QkFBYyx3QkFBd0IsQ0FBQztBQUN2QyxtREFBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL25hdi1pdGVtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS1jb21wb25lbnQtbGlrZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS11cGRhdGVzLXNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLmRlY29yYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92aXNpdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvcGxhY2Utcm91dGUuZ3VhcmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL2RlZmF1bHQtcGFyYW1ldGVyLXNhbml0aXNlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvanNvbi10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci10eXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @record
|
|
7
|
+
*/
|
|
8
|
+
export function NavItem() { }
|
|
9
|
+
if (false) {
|
|
10
|
+
/**
|
|
11
|
+
* @return {?}
|
|
12
|
+
*/
|
|
13
|
+
NavItem.prototype.title = function () { };
|
|
14
|
+
/**
|
|
15
|
+
* @return {?}
|
|
16
|
+
*/
|
|
17
|
+
NavItem.prototype.icon = function () { };
|
|
18
|
+
/**
|
|
19
|
+
* @return {?}
|
|
20
|
+
*/
|
|
21
|
+
NavItem.prototype.tooltip = function () { };
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvbmF2LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLDZCQUlDOzs7OztJQUhDLDBDQUFlOzs7O0lBQ2YseUNBQWU7Ozs7SUFDZiw0Q0FBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE5hdkl0ZW0ge1xuICB0aXRsZSgpOnN0cmluZztcbiAgaWNvbj8oKTpzdHJpbmc7XG4gIHRvb2x0aXA/KCk6c3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @record
|
|
7
|
+
*/
|
|
8
|
+
export function PlaceComponentLike() { }
|
|
9
|
+
if (false) {
|
|
10
|
+
/** @type {?} */
|
|
11
|
+
PlaceComponentLike.prototype.activatedRoute;
|
|
12
|
+
/**
|
|
13
|
+
* @return {?}
|
|
14
|
+
*/
|
|
15
|
+
PlaceComponentLike.prototype.onPlaceReady = function () { };
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LWxpa2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvcGxhY2UtY29tcG9uZW50LWxpa2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBLHdDQUdDOzs7SUFGQyw0Q0FBd0M7Ozs7SUFDeEMsNERBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VDb21wb25lbnRMaWtlIHtcbiAgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlO1xuICBvblBsYWNlUmVhZHkoKTtcbn1cbiJdfQ==
|
|
@@ -3,15 +3,19 @@
|
|
|
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, lang,
|
|
6
|
+
import { assert, Binding, Dsl, lang, MutableValueModel } from '@coolon/pectin';
|
|
7
|
+
import { Klass } from '@coolon/typescript-utilities';
|
|
7
8
|
import { Memoize } from '@typescript-plus/fast-memoize-decorator';
|
|
8
9
|
import * as _ from 'lodash';
|
|
9
10
|
import 'reflect-metadata';
|
|
10
11
|
import { DisposableComponent } from '../components/disposable-component';
|
|
11
|
-
import {
|
|
12
|
+
import { ParameterSnapshot } from './route/parameter-snapshot';
|
|
12
13
|
// RAKE: making this Symbol(...) broke things.
|
|
13
14
|
/** @type {?} */
|
|
14
15
|
export const DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';
|
|
16
|
+
// this one seems ok.
|
|
17
|
+
/** @type {?} */
|
|
18
|
+
export const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
|
|
15
19
|
export class PlaceComponent extends DisposableComponent {
|
|
16
20
|
/**
|
|
17
21
|
* @param {?} activatedRoute
|
|
@@ -20,12 +24,82 @@ export class PlaceComponent extends DisposableComponent {
|
|
|
20
24
|
constructor(activatedRoute, placeService) {
|
|
21
25
|
super();
|
|
22
26
|
this.activatedRoute = activatedRoute;
|
|
23
|
-
this.
|
|
27
|
+
this._incomingRouteChange = new MutableValueModel(false);
|
|
28
|
+
this.resolvedParameters = new MutableValueModel();
|
|
29
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
30
|
+
this.placeDefinition.getRouteParameters().forEach((/**
|
|
31
|
+
* @param {?} p
|
|
32
|
+
* @return {?}
|
|
33
|
+
*/
|
|
34
|
+
p => this.installBinding(p)));
|
|
35
|
+
observe.valuesFrom(activatedRoute.paramMap)
|
|
36
|
+
.last()
|
|
37
|
+
.map((/**
|
|
38
|
+
* @param {?} params
|
|
39
|
+
* @return {?}
|
|
40
|
+
*/
|
|
41
|
+
params => ParameterSnapshot.create(this.placeDefinition, params)))
|
|
42
|
+
.subscribe((/**
|
|
43
|
+
* @param {?} resolvedParameters
|
|
44
|
+
* @return {?}
|
|
45
|
+
*/
|
|
46
|
+
resolvedParameters => {
|
|
47
|
+
this._incomingRouteChange.value = true;
|
|
48
|
+
this.resolvedParameters.value = resolvedParameters;
|
|
49
|
+
this._incomingRouteChange.value = false;
|
|
50
|
+
}));
|
|
51
|
+
when.valueOf(this.resolvedParameters).changes((/**
|
|
52
|
+
* @param {?} params
|
|
53
|
+
* @param {?} previous
|
|
54
|
+
* @return {?}
|
|
55
|
+
*/
|
|
56
|
+
(params, previous) => {
|
|
57
|
+
placeService.notifyRouteParametersChanged({
|
|
58
|
+
activatedRoute: this.activatedRoute,
|
|
59
|
+
next: params,
|
|
60
|
+
previous: previous,
|
|
61
|
+
updateRoute: !this.incomingRouteChange.value // we update the route if it's a component triggered change.
|
|
62
|
+
});
|
|
63
|
+
}));
|
|
24
64
|
}
|
|
25
65
|
/**
|
|
26
66
|
* @return {?}
|
|
27
67
|
*/
|
|
28
|
-
get
|
|
68
|
+
get incomingRouteChange() {
|
|
69
|
+
return this._incomingRouteChange.readonly;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @private
|
|
73
|
+
* @template T, S
|
|
74
|
+
* @param {?} parameterDef
|
|
75
|
+
* @return {?}
|
|
76
|
+
*/
|
|
77
|
+
installBinding(parameterDef) {
|
|
78
|
+
/** @type {?} */
|
|
79
|
+
const model = (/** @type {?} */ (this[parameterDef.propertyName]));
|
|
80
|
+
// this.txo.observe(parameterDef.propertyName, model);
|
|
81
|
+
this.registerDisposable(new Binding(this.resolvedParameters, model, {
|
|
82
|
+
/**
|
|
83
|
+
* @param {?} parameters
|
|
84
|
+
* @return {?}
|
|
85
|
+
*/
|
|
86
|
+
toRight(parameters) {
|
|
87
|
+
return parameters.getResolvedParameterValue(parameterDef);
|
|
88
|
+
},
|
|
89
|
+
/**
|
|
90
|
+
* @param {?} value
|
|
91
|
+
* @param {?=} currentParameters
|
|
92
|
+
* @return {?}
|
|
93
|
+
*/
|
|
94
|
+
toLeft(value, currentParameters) {
|
|
95
|
+
return currentParameters.replace(parameterDef, value);
|
|
96
|
+
}
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @return {?}
|
|
101
|
+
*/
|
|
102
|
+
get placeDefinition() {
|
|
29
103
|
return PlaceComponent.getDefinition((/** @type {?} */ ((/** @type {?} */ (this.constructor)))));
|
|
30
104
|
}
|
|
31
105
|
/**
|
|
@@ -34,6 +108,7 @@ export class PlaceComponent extends DisposableComponent {
|
|
|
34
108
|
canDeactivate() {
|
|
35
109
|
return true;
|
|
36
110
|
}
|
|
111
|
+
// @Trace()
|
|
37
112
|
/**
|
|
38
113
|
* @return {?}
|
|
39
114
|
*/
|
|
@@ -44,19 +119,15 @@ tslib_1.__decorate([
|
|
|
44
119
|
Memoize(),
|
|
45
120
|
tslib_1.__metadata("design:type", PlaceComponent.Definition),
|
|
46
121
|
tslib_1.__metadata("design:paramtypes", [])
|
|
47
|
-
], PlaceComponent.prototype, "
|
|
48
|
-
tslib_1.__decorate([
|
|
49
|
-
Trace(),
|
|
50
|
-
tslib_1.__metadata("design:type", Function),
|
|
51
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
52
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
53
|
-
], PlaceComponent.prototype, "onPlaceReady", null);
|
|
122
|
+
], PlaceComponent.prototype, "placeDefinition", null);
|
|
54
123
|
if (false) {
|
|
124
|
+
/** @type {?} */
|
|
125
|
+
PlaceComponent.prototype._incomingRouteChange;
|
|
55
126
|
/**
|
|
56
127
|
* @type {?}
|
|
57
128
|
* @private
|
|
58
129
|
*/
|
|
59
|
-
PlaceComponent.prototype.
|
|
130
|
+
PlaceComponent.prototype.resolvedParameters;
|
|
60
131
|
/** @type {?} */
|
|
61
132
|
PlaceComponent.prototype.activatedRoute;
|
|
62
133
|
}
|
|
@@ -73,13 +144,24 @@ if (false) {
|
|
|
73
144
|
this.order = options.order;
|
|
74
145
|
this.data = options.data;
|
|
75
146
|
this.authenticate = _.isNil(options.authenticate) || options.authenticate;
|
|
147
|
+
this.children = (options.children || []).map((/**
|
|
148
|
+
* @param {?} c
|
|
149
|
+
* @return {?}
|
|
150
|
+
*/
|
|
151
|
+
c => PlaceComponent.getDefinition(c).component));
|
|
76
152
|
}
|
|
77
153
|
/**
|
|
78
|
-
* @param {?} construcable
|
|
79
154
|
* @return {?}
|
|
80
155
|
*/
|
|
81
|
-
|
|
82
|
-
return
|
|
156
|
+
getRouteParameters() {
|
|
157
|
+
return Klass.get(this.component).getMetadataList(ROUTE_PARAMETER_LIST_KEY);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* @param {?} constructable
|
|
161
|
+
* @return {?}
|
|
162
|
+
*/
|
|
163
|
+
isDescriptorForType(constructable) {
|
|
164
|
+
return lang.constructorChain(constructable).includes(PlaceComponent);
|
|
83
165
|
}
|
|
84
166
|
/**
|
|
85
167
|
* @param {?} placeComponent
|
|
@@ -120,6 +202,12 @@ if (false) {
|
|
|
120
202
|
}
|
|
121
203
|
}
|
|
122
204
|
}
|
|
205
|
+
tslib_1.__decorate([
|
|
206
|
+
Memoize(),
|
|
207
|
+
tslib_1.__metadata("design:type", Function),
|
|
208
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
209
|
+
tslib_1.__metadata("design:returntype", Array)
|
|
210
|
+
], Definition.prototype, "getRouteParameters", null);
|
|
123
211
|
PlaceComponent.Definition = Definition;
|
|
124
212
|
if (false) {
|
|
125
213
|
/** @type {?} */
|
|
@@ -131,6 +219,8 @@ if (false) {
|
|
|
131
219
|
/** @type {?} */
|
|
132
220
|
Definition.prototype.data;
|
|
133
221
|
/** @type {?} */
|
|
222
|
+
Definition.prototype.children;
|
|
223
|
+
/** @type {?} */
|
|
134
224
|
Definition.prototype.component;
|
|
135
225
|
}
|
|
136
226
|
/**
|
|
@@ -147,15 +237,24 @@ if (false) {
|
|
|
147
237
|
Options.prototype.data;
|
|
148
238
|
/** @type {?|undefined} */
|
|
149
239
|
Options.prototype.authenticate;
|
|
240
|
+
/** @type {?|undefined} */
|
|
241
|
+
Options.prototype.children;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* @record
|
|
245
|
+
*/
|
|
246
|
+
function ChildOptions() { }
|
|
247
|
+
PlaceComponent.ChildOptions = ChildOptions;
|
|
248
|
+
if (false) {
|
|
249
|
+
/** @type {?} */
|
|
250
|
+
ChildOptions.prototype.parent;
|
|
150
251
|
}
|
|
151
252
|
/**
|
|
152
253
|
* @param {?} klass
|
|
153
254
|
* @return {?}
|
|
154
255
|
*/
|
|
155
256
|
function getDefinition(klass) {
|
|
156
|
-
|
|
157
|
-
const placeOptions = Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);
|
|
158
|
-
return new Definition(klass, placeOptions);
|
|
257
|
+
return Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);
|
|
159
258
|
}
|
|
160
259
|
PlaceComponent.getDefinition = getDefinition;
|
|
161
260
|
/**
|
|
@@ -164,8 +263,8 @@ if (false) {
|
|
|
164
263
|
* @return {?}
|
|
165
264
|
*/
|
|
166
265
|
function injectDefinition(klass, options) {
|
|
167
|
-
Reflect.defineMetadata(DEFINITION_META_DATA_KEY, options, klass);
|
|
266
|
+
Reflect.defineMetadata(DEFINITION_META_DATA_KEY, new Definition(klass, options), klass);
|
|
168
267
|
}
|
|
169
268
|
PlaceComponent.injectDefinition = injectDefinition;
|
|
170
269
|
})(PlaceComponent || (PlaceComponent = {}));
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRzFFLE1BQU0sT0FBTyx3QkFBd0IsR0FBRywwQkFBMEI7QUFFbEUsTUFBTSxPQUFPLGNBQWUsU0FBUSxtQkFBbUI7Ozs7O0lBSXJELFlBQXFCLGNBQThCLEVBQUUsWUFBMkI7UUFDOUUsS0FBSyxFQUFFLENBQUM7UUFEVyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFakQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7Ozs7SUFHRCxJQUFJLFdBQVc7UUFDYixPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsbUJBQUEsbUJBQUEsSUFBSSxDQUFDLFdBQVcsRUFBTyxFQUFpQyxDQUFDLENBQUM7SUFDaEcsQ0FBQzs7OztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFHRCxZQUFZO0lBQ1osQ0FBQztDQUVGO0FBWkM7SUFEQyxPQUFPLEVBQUU7c0NBQ1MsY0FBYyxDQUFDLFVBQVU7O2lEQUUz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IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIGxhbmcsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSVBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9pLXBsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBJUGxhY2VTZXJ2aWNlIH0gZnJvbSAnLi9pLXBsYWNlLXNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVQYXJhbWV0ZXJCaW5kaW5ncyB9IGZyb20gJy4vcm91dGUvcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzJztcblxuLy8gUkFLRTogbWFraW5nIHRoaXMgU3ltYm9sKC4uLikgYnJva2UgdGhpbmdzLlxuZXhwb3J0IGNvbnN0IERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSA9ICdQTEFDRV9ERUZJTklUSU9OX09QVElPTlMnO1xuXG5leHBvcnQgY2xhc3MgUGxhY2VDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgSVBsYWNlQ29tcG9uZW50IHtcblxuICBwcml2YXRlIHJvdXRlQmluZGluZ01lZGlhdG9yOiBSb3V0ZVBhcmFtZXRlckJpbmRpbmdzO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcGxhY2VTZXJ2aWNlOiBJUGxhY2VTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJvdXRlQmluZGluZ01lZGlhdG9yID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IFJvdXRlUGFyYW1ldGVyQmluZGluZ3ModGhpcywgcGxhY2VTZXJ2aWNlKSk7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldCBwbGFjZUNvbmZpZygpOiBQbGFjZUNvbXBvbmVudC5EZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbih0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSBhcyBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik7XG4gIH1cblxuICBjYW5EZWFjdGl2YXRlKCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIG9uUGxhY2VSZWFkeSgpIHtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGxhY2VDb21wb25lbnQge1xuXG4gIGV4cG9ydCBjbGFzcyBEZWZpbml0aW9uIHtcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXV0aGVudGljYXRlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IG9yZGVyOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4sIG9wdGlvbnM6IFBsYWNlQ29tcG9uZW50Lk9wdGlvbnMpIHtcbiAgICAgIGFzc2VydC5ub3ROaWwob3B0aW9ucyk7XG4gICAgICB0aGlzLnBhdGggPSBvcHRpb25zLnBhdGg7XG4gICAgICB0aGlzLm9yZGVyID0gb3B0aW9ucy5vcmRlcjtcbiAgICAgIHRoaXMuZGF0YSA9IG9wdGlvbnMuZGF0YTtcbiAgICAgIHRoaXMuYXV0aGVudGljYXRlID0gXy5pc05pbChvcHRpb25zLmF1dGhlbnRpY2F0ZSkgfHwgb3B0aW9ucy5hdXRoZW50aWNhdGU7XG4gICAgfVxuXG4gICAgaXNEZXNjcmlwdG9yRm9yVHlwZShjb25zdHJ1Y2FibGU6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KSB7XG4gICAgICByZXR1cm4gbGFuZy5jb25zdHJ1Y3RvckNoYWluKGNvbnN0cnVjYWJsZSkuaW5jbHVkZXMoUGxhY2VDb21wb25lbnQpO1xuICAgIH1cblxuICAgIGlzRGVzY3JpcHRvckZvcihwbGFjZUNvbXBvbmVudDogUGxhY2VDb21wb25lbnQpIHtcbiAgICAgIHJldHVybiBwbGFjZUNvbXBvbmVudC5jb25zdHJ1Y3RvciA9PT0gdGhpcy5jb21wb25lbnQ7XG4gICAgfVxuXG4gICAgZ2V0RGF0YTxUPihrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YSA/XG4gICAgICAgIF8uaXNOaWwodGhpcy5kYXRhW2tleV0pID8gZGVmYXVsdFZhbHVlIDogdGhpcy5kYXRhW2tleV0gOlxuICAgICAgICBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgc2VhcmNoRGF0YTxUPihrZXlzOiBzdHJpbmdbXSwgZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICBjb25zdCBmb3VuZCA9IGtleXMuZmluZChrZXkgPT4gIV8uaXNOaWwodGhpcy5kYXRhW2tleV0pKTtcbiAgICAgICAgcmV0dXJuIGZvdW5kID8gdGhpcy5kYXRhW2ZvdW5kXSA6IGRlZmF1bHRWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAgIHBhdGg6IHN0cmluZyxcbiAgICBvcmRlcjogbnVtYmVyO1xuICAgIGRhdGE/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCAvLyBkZWZhdWx0cyB0byB0cnVlXG4gICAgYXV0aGVudGljYXRlPzogYm9vbGVhbiAvLyBkZWZhdWx0cyB0byB0cnVlXG4gICAgLy8gY2hpbGRPZj86IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0RGVmaW5pdGlvbihrbGFzczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiBEZWZpbml0aW9uIHtcbiAgICBjb25zdCBwbGFjZU9wdGlvbnMgPSBSZWZsZWN0LmdldE1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwga2xhc3MpO1xuICAgIHJldHVybiBuZXcgRGVmaW5pdGlvbihrbGFzcywgcGxhY2VPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Piwgb3B0aW9uczogT3B0aW9ucykge1xuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZLCBvcHRpb25zLCBrbGFzcyk7XG4gIH1cblxuXG59XG4iXX0=
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFDTCxNQUFNLEVBQ04sT0FBTyxFQUVQLEdBQUcsRUFFSCxJQUFJLEVBQ0osaUJBQWlCLEVBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSXpFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFHL0QsTUFBTSxPQUFPLHdCQUF3QixHQUFHLDBCQUEwQjs7O0FBRWxFLE1BQU0sT0FBTyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7QUFFeEUsTUFBTSxPQUFPLGNBQWUsU0FBUSxtQkFBbUI7Ozs7O0lBS3JELFlBQXFCLGNBQThCLEVBQUUsWUFBaUM7UUFDcEYsS0FBSyxFQUFFLENBQUM7UUFEVyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFIbkMseUJBQW9CLEdBQUcsSUFBSSxpQkFBaUIsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM1RCx1QkFBa0IsR0FBRyxJQUFJLGlCQUFpQixFQUFxQixDQUFDO2NBSXpFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFFeEYsSUFB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QUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQztnQkFDeEQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQzthQUNoRDtpQkFBTTtnQkFDTCxPQUFPLFlBQVksQ0FBQzthQUNyQjtRQUNILENBQUM7S0FDRjtJQTFCQztRQURDLE9BQU8sRUFBRTs7Ozt3REFHVDtJQW5CVSx5QkFBVSxhQTJDdEIsQ0FBQTs7O1FBMUNDLDBCQUFzQjs7UUFDdEIsa0NBQStCOztRQUMvQiwyQkFBdUI7O1FBQ3ZCLDBCQUFzQzs7UUFDdEMsOEJBQW1EOztRQUV2QywrQkFBaUQ7Ozs7O0lBdUMvRCxzQkFNQzs7OztRQUxDLHVCQUFhOztRQUNiLHdCQUFjOztRQUNkLHVCQUE4Qjs7UUFDOUIsK0JBQXVCOztRQUN2QiwyQkFBMEM7Ozs7O0lBRzVDLDJCQUVDOzs7O1FBREMsOEJBQXFDOzs7Ozs7SUFHdkMsU0FBZ0IsYUFBYSxDQUFDLEtBQW9DO1FBQ2hFLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRmUsNEJBQWEsZ0JBRTVCLENBQUE7Ozs7OztJQUVELFNBQWdCLGdCQUFnQixDQUFDLEtBQW9DLEVBQUUsT0FBZ0I7UUFDckYsT0FBTyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUZlLCtCQUFnQixtQkFFL0IsQ0FBQTtBQUdILENBQUMsRUFyRWdCLGNBQWMsS0FBZCxjQUFjLFFBcUU5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIGFzc2VydCxcbiAgQmluZGluZyxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRHNsLFxuICBJTXV0YWJsZUhhc1ZhbHVlLFxuICBsYW5nLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVHJhY2UsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgS2xhc3MgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3InO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50TGlrZSB9IGZyb20gJy4vcGxhY2UtY29tcG9uZW50LWxpa2UnO1xuaW1wb3J0IHsgUGxhY2VVcGRhdGVzU2VydmljZSB9IGZyb20gJy4vcGxhY2UtdXBkYXRlcy1zZXJ2aWNlJztcbmltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcbmltcG9ydCB7IFBhcmFtZXRlclNuYXBzaG90IH0gZnJvbSAnLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3QnO1xuXG4vLyBSQUtFOiBtYWtpbmcgdGhpcyBTeW1ib2woLi4uKSBicm9rZSB0aGluZ3MuXG5leHBvcnQgY29uc3QgREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZID0gJ1BMQUNFX0RFRklOSVRJT05fT1BUSU9OUyc7XG4vLyB0aGlzIG9uZSBzZWVtcyBvay5cbmV4cG9ydCBjb25zdCBST1VURV9QQVJBTUVURVJfTElTVF9LRVkgPSBTeW1ib2woJ3BsYWNlOnJvdXRlOnBhcmFtZXRlcnMnKTtcblxuZXhwb3J0IGNsYXNzIFBsYWNlQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIFBsYWNlQ29tcG9uZW50TGlrZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IF9pbmNvbWluZ1JvdXRlQ2hhbmdlID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlZFBhcmFtZXRlcnMgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGFyYW1ldGVyU25hcHNob3Q+KCk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwbGFjZVNlcnZpY2U6IFBsYWNlVXBkYXRlc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG5cbiAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRSb3V0ZVBhcmFtZXRlcnMoKS5mb3JFYWNoKHAgPT4gdGhpcy5pbnN0YWxsQmluZGluZyhwKSk7XG5cbiAgICBvYnNlcnZlLnZhbHVlc0Zyb20oYWN0aXZhdGVkUm91dGUucGFyYW1NYXApXG4gICAgICAubGFzdCgpXG4gICAgICAubWFwKHBhcmFtcyA9PiBQYXJhbWV0ZXJTbmFwc2hvdC5jcmVhdGUodGhpcy5wbGFjZURlZmluaXRpb24sIHBhcmFtcykpXG4gICAgICAuc3Vic2NyaWJlKHJlc29sdmVkUGFyYW1ldGVycyA9PiB7XG4gICAgICAgIHRoaXMuX2luY29taW5nUm91dGVDaGFuZ2UudmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlc29sdmVkUGFyYW1ldGVycy52YWx1ZSA9IHJlc29sdmVkUGFyYW1ldGVycztcbiAgICAgICAgdGhpcy5faW5jb21pbmdSb3V0ZUNoYW5nZS52YWx1ZSA9IGZhbHNlO1xuICAgICAgfSk7XG5cbiAgICB3aGVuLnZhbHVlT2YodGhpcy5yZXNvbHZlZFBhcmFtZXRlcnMpLmNoYW5nZXMoKHBhcmFtcywgcHJldmlvdXMpID0+IHtcbiAgICAgIHBsYWNlU2VydmljZS5ub3RpZnlSb3V0ZVBhcmFtZXRlcnNDaGFuZ2VkKHtcbiAgICAgICAgYWN0aXZhdGVkUm91dGU6IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgIG5leHQ6IHBhcmFtcyxcbiAgICAgICAgcHJldmlvdXM6IHByZXZpb3VzLFxuICAgICAgICB1cGRhdGVSb3V0ZTogIXRoaXMuaW5jb21pbmdSb3V0ZUNoYW5nZS52YWx1ZSAvLyB3ZSB1cGRhdGUgdGhlIHJvdXRlIGlmIGl0J3MgYSBjb21wb25lbnQgdHJpZ2dlcmVkIGNoYW5nZS5cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGluY29taW5nUm91dGVDaGFuZ2UoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2luY29taW5nUm91dGVDaGFuZ2UucmVhZG9ubHk7XG4gIH1cblxuICBwcml2YXRlIGluc3RhbGxCaW5kaW5nPFQsIFM+KHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPikge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpc1twYXJhbWV0ZXJEZWYucHJvcGVydHlOYW1lXSBhcyBJTXV0YWJsZUhhc1ZhbHVlPFM+O1xuICAgIC8vIHRoaXMudHhvLm9ic2VydmUocGFyYW1ldGVyRGVmLnByb3BlcnR5TmFtZSwgbW9kZWwpO1xuICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBCaW5kaW5nKHRoaXMucmVzb2x2ZWRQYXJhbWV0ZXJzLCBtb2RlbCwge1xuICAgICAgdG9SaWdodChwYXJhbWV0ZXJzOiBQYXJhbWV0ZXJTbmFwc2hvdCk6IFMge1xuICAgICAgICByZXR1cm4gcGFyYW1ldGVycy5nZXRSZXNvbHZlZFBhcmFtZXRlclZhbHVlKHBhcmFtZXRlckRlZik7XG4gICAgICB9LFxuICAgICAgdG9MZWZ0KHZhbHVlOiBTLCBjdXJyZW50UGFyYW1ldGVycz86IFBhcmFtZXRlclNuYXBzaG90KTogUGFyYW1ldGVyU25hcHNob3Qge1xuICAgICAgICByZXR1cm4gY3VycmVudFBhcmFtZXRlcnMucmVwbGFjZShwYXJhbWV0ZXJEZWYsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuXG4gIEBNZW1vaXplKClcbiAgZ2V0IHBsYWNlRGVmaW5pdGlvbigpOiBQbGFjZUNvbXBvbmVudC5EZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbih0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSBhcyBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik7XG4gIH1cblxuICBjYW5EZWFjdGl2YXRlKCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUGxhY2VSZWFkeSgpIHtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGxhY2VDb21wb25lbnQge1xuXG4gIGV4cG9ydCBjbGFzcyBEZWZpbml0aW9uIHtcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXV0aGVudGljYXRlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IG9yZGVyOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgICByZWFkb25seSBjaGlsZHJlbjogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD5bXTtcblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4sIG9wdGlvbnM6IFBsYWNlQ29tcG9uZW50Lk9wdGlvbnMpIHtcbiAgICAgIGFzc2VydC5ub3ROaWwob3B0aW9ucyk7XG4gICAgICB0aGlzLnBhdGggPSBvcHRpb25zLnBhdGg7XG4gICAgICB0aGlzLm9yZGVyID0gb3B0aW9ucy5vcmRlcjtcbiAgICAgIHRoaXMuZGF0YSA9IG9wdGlvbnMuZGF0YTtcbiAgICAgIHRoaXMuYXV0aGVudGljYXRlID0gXy5pc05pbChvcHRpb25zLmF1dGhlbnRpY2F0ZSkgfHwgb3B0aW9ucy5hdXRoZW50aWNhdGU7XG4gICAgICB0aGlzLmNoaWxkcmVuID0gKG9wdGlvbnMuY2hpbGRyZW4gfHxbXSkubWFwKGMgPT4gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihjKS5jb21wb25lbnQpO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXRSb3V0ZVBhcmFtZXRlcnMoKTogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10ge1xuICAgICAgcmV0dXJuIEtsYXNzLmdldCh0aGlzLmNvbXBvbmVudCkuZ2V0TWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSk7XG4gICAgfVxuXG4gICAgaXNEZXNjcmlwdG9yRm9yVHlwZShjb25zdHJ1Y3RhYmxlOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pikge1xuICAgICAgcmV0dXJuIGxhbmcuY29uc3RydWN0b3JDaGFpbihjb25zdHJ1Y3RhYmxlKS5pbmNsdWRlcyhQbGFjZUNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgaXNEZXNjcmlwdG9yRm9yKHBsYWNlQ29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCkge1xuICAgICAgcmV0dXJuIHBsYWNlQ29tcG9uZW50LmNvbnN0cnVjdG9yID09PSB0aGlzLmNvbXBvbmVudDtcbiAgICB9XG5cbiAgICBnZXREYXRhPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhID9cbiAgICAgICAgXy5pc05pbCh0aGlzLmRhdGFba2V5XSkgPyBkZWZhdWx0VmFsdWUgOiB0aGlzLmRhdGFba2V5XSA6XG4gICAgICAgIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBzZWFyY2hEYXRhPFQ+KGtleXM6IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0ga2V5cy5maW5kKGtleSA9PiAhXy5pc05pbCh0aGlzLmRhdGFba2V5XSkpO1xuICAgICAgICByZXR1cm4gZm91bmQgPyB0aGlzLmRhdGFbZm91bmRdIDogZGVmYXVsdFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9yZGVyOiBudW1iZXI7XG4gICAgZGF0YT86IHsgW2tleTogc3RyaW5nXTogYW55IH0sIC8vIGRlZmF1bHRzIHRvIHRydWVcbiAgICBhdXRoZW50aWNhdGU/OiBib29sZWFuLCAvLyBkZWZhdWx0cyB0byB0cnVlXG4gICAgY2hpbGRyZW4/OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PltdXG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIENoaWxkT3B0aW9ucyBleHRlbmRzIE9wdGlvbnMge1xuICAgIHBhcmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD5cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXREZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik6IERlZmluaXRpb24ge1xuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwga2xhc3MpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGluamVjdERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIG5ldyBEZWZpbml0aW9uKGtsYXNzLCBvcHRpb25zKSwga2xhc3MpO1xuICB9XG5cblxufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @record
|
|
7
|
+
*/
|
|
8
|
+
export function PlaceUpdatesService() { }
|
|
9
|
+
if (false) {
|
|
10
|
+
/**
|
|
11
|
+
* @param {?} params
|
|
12
|
+
* @return {?}
|
|
13
|
+
*/
|
|
14
|
+
PlaceUpdatesService.prototype.notifyRouteParametersChanged = function (params) { };
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtdXBkYXRlcy1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLXVwZGF0ZXMtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEseUNBT0M7Ozs7OztJQU5DLG1GQUtHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnRMaWtlIH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQtbGlrZSc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTbmFwc2hvdCB9IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLXNuYXBzaG90JztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZVVwZGF0ZXNTZXJ2aWNlIHtcbiAgbm90aWZ5Um91dGVQYXJhbWV0ZXJzQ2hhbmdlZChwYXJhbXM6IHtcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgbmV4dDogUGFyYW1ldGVyU25hcHNob3QsXG4gICAgcHJldmlvdXM6IFBhcmFtZXRlclNuYXBzaG90LFxuICAgIHVwZGF0ZVJvdXRlOiBib29sZWFuXG4gIH0pO1xufVxuIl19
|
|
@@ -20,4 +20,4 @@ export function Place(options) {
|
|
|
20
20
|
PlaceComponent.injectDefinition((/** @type {?} */ (target)), options);
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRW5ELE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBK0I7SUFDbkQ7Ozs7SUFBTyxDQUFDLE1BQWdCLEVBQUUsRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUMvRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsTUFBTSx5REFBeUQsQ0FBQyxDQUFBO1NBQ3hGO1FBQ0QsY0FBYyxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgbGFuZyB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gUGxhY2Uob3B0aW9uczogUGxhY2VDb21wb25lbnQuT3B0aW9ucykge1xuICByZXR1cm4gKHRhcmdldDogRnVuY3Rpb24pID0+IHtcbiAgICBpZiAoIWxhbmcuY29uc3RydWN0b3JDaGFpbih0YXJnZXQgYXMgQ29uc3RydWN0YWJsZTxhbnk+
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRW5ELE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBK0I7SUFDbkQ7Ozs7SUFBTyxDQUFDLE1BQWdCLEVBQUUsRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUMvRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsTUFBTSx5REFBeUQsQ0FBQyxDQUFBO1NBQ3hGO1FBQ0QsY0FBYyxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgbGFuZyB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gUGxhY2Uob3B0aW9uczogUGxhY2VDb21wb25lbnQuT3B0aW9ucykge1xuICByZXR1cm4gKHRhcmdldDogRnVuY3Rpb24pID0+IHtcbiAgICBpZiAoIWxhbmcuY29uc3RydWN0b3JDaGFpbih0YXJnZXQgYXMgQ29uc3RydWN0YWJsZTxhbnk+KS5pbmNsdWRlcyhQbGFjZUNvbXBvbmVudCkpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYCR7dGFyZ2V0fSBtdXN0IGV4dGVuZCBQbGFjZUNvbXBvbmVudCB0byB1c2UgdGhlIEBQbGFjZSBkZWNvcmF0b3JgKVxuICAgIH1cbiAgICBQbGFjZUNvbXBvbmVudC5pbmplY3REZWZpbml0aW9uKHRhcmdldCBhcyBDb25zdHJ1Y3RhYmxlPGFueT4sIG9wdGlvbnMpO1xuICB9O1xufVxuIl19
|
|
@@ -13,6 +13,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
|
13
13
|
import { RouterModule } from '@angular/router';
|
|
14
14
|
import { BusyOverlayComponent } from './components/busy-overlay/busy-overlay.component';
|
|
15
15
|
import { EmptyStateComponent } from './components/empty-state/empty-state.component';
|
|
16
|
+
import { ListPlaceNavComponent } from './components/list-place-nav/list-place-nav.component';
|
|
16
17
|
import { PlaceOutletComponent } from './components/place-outlet/place-outlet.component';
|
|
17
18
|
import { TabbedPlaceNavigationComponent } from './components/tabbed-place-navigation/tabbed-place-navigation.component';
|
|
18
19
|
import { PlaceService } from './place.service';
|
|
@@ -34,18 +35,20 @@ PlaceModule.decorators = [
|
|
|
34
35
|
EmptyStateComponent,
|
|
35
36
|
BusyOverlayComponent,
|
|
36
37
|
PlaceOutletComponent,
|
|
37
|
-
TabbedPlaceNavigationComponent
|
|
38
|
+
TabbedPlaceNavigationComponent,
|
|
39
|
+
ListPlaceNavComponent
|
|
38
40
|
],
|
|
39
41
|
entryComponents: [BusyOverlayComponent],
|
|
40
42
|
exports: [
|
|
41
43
|
BusyOverlayComponent,
|
|
42
44
|
PlaceOutletComponent,
|
|
43
45
|
EmptyStateComponent,
|
|
44
|
-
TabbedPlaceNavigationComponent
|
|
46
|
+
TabbedPlaceNavigationComponent,
|
|
47
|
+
ListPlaceNavComponent
|
|
45
48
|
],
|
|
46
49
|
providers: [
|
|
47
50
|
PlaceService
|
|
48
51
|
]
|
|
49
52
|
},] }
|
|
50
53
|
];
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWdDL0MsTUFBTSxPQUFPLFdBQVc7OztZQTlCdkIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHVCQUF1QjtvQkFDdkIsd0JBQXdCO29CQUN4QixZQUFZO29CQUNaLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGFBQWE7aUJBQ2Q7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLG1CQUFtQjtvQkFDbkIsb0JBQW9CO29CQUNwQixvQkFBb0I7b0JBQ3BCLDhCQUE4QjtvQkFDOUIscUJBQXFCO2lCQUN0QjtnQkFDRCxlQUFlLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDdkMsT0FBTyxFQUFFO29CQUNQLG9CQUFvQjtvQkFDcEIsb0JBQW9CO29CQUNwQixtQkFBbUI7b0JBQ25CLDhCQUE4QjtvQkFDOUIscUJBQXFCO2lCQUN0QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsWUFBWTtpQkFDYjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnVzeU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVzeS1vdmVybGF5L2J1c3ktb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdFBsYWNlTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3QtcGxhY2UtbmF2L2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZU91dGxldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZS1vdXRsZXQvcGxhY2Utb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJiZWRQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlU2VydmljZSB9IGZyb20gJy4vcGxhY2Uuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgQnVzeU92ZXJsYXlDb21wb25lbnQsXG4gICAgUGxhY2VPdXRsZXRDb21wb25lbnQsXG4gICAgVGFiYmVkUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50LFxuICAgIExpc3RQbGFjZU5hdkNvbXBvbmVudFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtCdXN5T3ZlcmxheUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXN5T3ZlcmxheUNvbXBvbmVudCxcbiAgICBQbGFjZU91dGxldENvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIFRhYmJlZFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICBMaXN0UGxhY2VOYXZDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgUGxhY2VTZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VNb2R1bGUge1xuXG59XG4iXX0=
|