@coolon/angular-ui-powerups 0.0.1
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/README.md +7 -0
- package/bundles/coolon-angular-ui-powerups.umd.js +3373 -0
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -0
- package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -0
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -0
- package/coolon-angular-ui-powerups.d.ts +12 -0
- package/coolon-angular-ui-powerups.metadata.json +1 -0
- package/esm2015/coolon-angular-ui-powerups.js +17 -0
- package/esm2015/index.js +6 -0
- package/esm2015/lib/angular-ui-powerups.module.js +48 -0
- package/esm2015/lib/components/disposable-component.js +14 -0
- package/esm2015/lib/components/forms/abstract-input.component.js +173 -0
- package/esm2015/lib/components/forms/number-input/number-input.component.js +26 -0
- package/esm2015/lib/components/forms/password-input/password-input.component.js +26 -0
- package/esm2015/lib/components/forms/select-input/select-input.component.js +60 -0
- package/esm2015/lib/components/forms/string-input/string-input.component.js +26 -0
- package/esm2015/lib/components/index.js +18 -0
- package/esm2015/lib/components/resize-aware.component.js +96 -0
- package/esm2015/lib/components/types/bounds.class.js +56 -0
- package/esm2015/lib/components/types/dimension.class.js +21 -0
- package/esm2015/lib/components/types/point.class.js +36 -0
- package/esm2015/lib/directives/command.directive.js +91 -0
- package/esm2015/lib/directives/focus-binding.directive.js +163 -0
- package/esm2015/lib/directives/index.js +10 -0
- package/esm2015/lib/interaction/abstract-activity.js +129 -0
- package/esm2015/lib/interaction/activity.js +27 -0
- package/esm2015/lib/interaction/alert.js +23 -0
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +144 -0
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js +22 -0
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +169 -0
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +37 -0
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +46 -0
- package/esm2015/lib/interaction/confirm.js +17 -0
- package/esm2015/lib/interaction/index.js +21 -0
- package/esm2015/lib/interaction/interaction-context.js +35 -0
- package/esm2015/lib/interaction/interaction.module.js +41 -0
- package/esm2015/lib/interaction/result.js +24 -0
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +112 -0
- package/esm2015/lib/place/abstract-place-component.js +59 -0
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +44 -0
- package/esm2015/lib/place/components/empty-state/empty-state.component.js +28 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +52 -0
- package/esm2015/lib/place/guards/leave-place.guard.js +52 -0
- package/esm2015/lib/place/guards/place-route.guard.js +74 -0
- package/esm2015/lib/place/index.js +25 -0
- package/esm2015/lib/place/place-component.js +17 -0
- package/esm2015/lib/place/place.decorator.js +67 -0
- package/esm2015/lib/place/place.module.js +38 -0
- package/esm2015/lib/place/place.service.js +61 -0
- package/esm2015/lib/place/route/json-types.js +13 -0
- package/esm2015/lib/place/route/parameter-decorators.js +82 -0
- package/esm2015/lib/place/route/parameter-definition.class.js +22 -0
- package/esm2015/lib/place/route/parameter-sanitiser.js +17 -0
- package/esm2015/lib/place/route/parameter-type.js +43 -0
- package/esm2015/lib/place/route/route-parameter-bindings.js +282 -0
- package/esm2015/lib/place/route/route-parameter-sanitiser.js +148 -0
- package/esm2015/public_api.js +10 -0
- package/esm5/coolon-angular-ui-powerups.js +17 -0
- package/esm5/index.js +6 -0
- package/esm5/lib/angular-ui-powerups.module.js +52 -0
- package/esm5/lib/components/disposable-component.js +24 -0
- package/esm5/lib/components/forms/abstract-input.component.js +218 -0
- package/esm5/lib/components/forms/number-input/number-input.component.js +33 -0
- package/esm5/lib/components/forms/password-input/password-input.component.js +33 -0
- package/esm5/lib/components/forms/select-input/select-input.component.js +67 -0
- package/esm5/lib/components/forms/string-input/string-input.component.js +33 -0
- package/esm5/lib/components/index.js +18 -0
- package/esm5/lib/components/resize-aware.component.js +124 -0
- package/esm5/lib/components/types/bounds.class.js +59 -0
- package/esm5/lib/components/types/dimension.class.js +19 -0
- package/esm5/lib/components/types/point.class.js +43 -0
- package/esm5/lib/directives/command.directive.js +107 -0
- package/esm5/lib/directives/focus-binding.directive.js +211 -0
- package/esm5/lib/directives/index.js +10 -0
- package/esm5/lib/interaction/abstract-activity.js +173 -0
- package/esm5/lib/interaction/activity.js +27 -0
- package/esm5/lib/interaction/alert.js +23 -0
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +181 -0
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js +22 -0
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +206 -0
- package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +42 -0
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +54 -0
- package/esm5/lib/interaction/confirm.js +17 -0
- package/esm5/lib/interaction/index.js +21 -0
- package/esm5/lib/interaction/interaction-context.js +45 -0
- package/esm5/lib/interaction/interaction.module.js +45 -0
- package/esm5/lib/interaction/result.js +24 -0
- package/esm5/lib/interaction/services/dialog-interaction.service.js +138 -0
- package/esm5/lib/place/abstract-place-component.js +66 -0
- package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +49 -0
- package/esm5/lib/place/components/empty-state/empty-state.component.js +29 -0
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +62 -0
- package/esm5/lib/place/guards/leave-place.guard.js +57 -0
- package/esm5/lib/place/guards/place-route.guard.js +78 -0
- package/esm5/lib/place/index.js +25 -0
- package/esm5/lib/place/place-component.js +17 -0
- package/esm5/lib/place/place.decorator.js +64 -0
- package/esm5/lib/place/place.module.js +42 -0
- package/esm5/lib/place/place.service.js +75 -0
- package/esm5/lib/place/route/json-types.js +13 -0
- package/esm5/lib/place/route/parameter-decorators.js +82 -0
- package/esm5/lib/place/route/parameter-definition.class.js +22 -0
- package/esm5/lib/place/route/parameter-sanitiser.js +17 -0
- package/esm5/lib/place/route/parameter-type.js +65 -0
- package/esm5/lib/place/route/route-parameter-bindings.js +327 -0
- package/esm5/lib/place/route/route-parameter-sanitiser.js +203 -0
- package/esm5/public_api.js +10 -0
- package/fesm2015/coolon-angular-ui-powerups.js +2687 -0
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -0
- package/fesm5/coolon-angular-ui-powerups.js +3164 -0
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -0
- package/index.d.ts +1 -0
- package/lib/angular-ui-powerups.module.d.ts +2 -0
- package/lib/components/disposable-component.d.ts +5 -0
- package/lib/components/forms/abstract-input.component.d.ts +34 -0
- package/lib/components/forms/number-input/number-input.component.d.ts +6 -0
- package/lib/components/forms/password-input/password-input.component.d.ts +6 -0
- package/lib/components/forms/select-input/select-input.component.d.ts +11 -0
- package/lib/components/forms/string-input/string-input.component.d.ts +6 -0
- package/lib/components/index.d.ts +13 -0
- package/lib/components/resize-aware.component.d.ts +22 -0
- package/lib/components/types/bounds.class.d.ts +16 -0
- package/lib/components/types/dimension.class.d.ts +5 -0
- package/lib/components/types/point.class.d.ts +10 -0
- package/lib/directives/command.directive.d.ts +11 -0
- package/lib/directives/focus-binding.directive.d.ts +21 -0
- package/lib/directives/index.d.ts +5 -0
- package/lib/interaction/abstract-activity.d.ts +17 -0
- package/lib/interaction/activity.d.ts +11 -0
- package/lib/interaction/alert.d.ts +5 -0
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +32 -0
- package/lib/interaction/components/activity-outlet/activity-outlet-context.d.ts +10 -0
- package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +30 -0
- package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +8 -0
- package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +9 -0
- package/lib/interaction/confirm.d.ts +5 -0
- package/lib/interaction/index.d.ts +16 -0
- package/lib/interaction/interaction-context.d.ts +11 -0
- package/lib/interaction/interaction.module.d.ts +2 -0
- package/lib/interaction/result.d.ts +8 -0
- package/lib/interaction/services/dialog-interaction.service.d.ts +14 -0
- package/lib/place/abstract-place-component.d.ts +13 -0
- package/lib/place/components/busy-overlay/busy-overlay.component.d.ts +8 -0
- package/lib/place/components/empty-state/empty-state.component.d.ts +5 -0
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +10 -0
- package/lib/place/guards/leave-place.guard.d.ts +10 -0
- package/lib/place/guards/place-route.guard.d.ts +9 -0
- package/lib/place/index.d.ts +20 -0
- package/lib/place/place-component.d.ts +5 -0
- package/lib/place/place.decorator.d.ts +18 -0
- package/lib/place/place.module.d.ts +2 -0
- package/lib/place/place.service.d.ts +8 -0
- package/lib/place/route/json-types.d.ts +7 -0
- package/lib/place/route/parameter-decorators.d.ts +9 -0
- package/lib/place/route/parameter-definition.class.d.ts +10 -0
- package/lib/place/route/parameter-sanitiser.d.ts +3 -0
- package/lib/place/route/parameter-type.d.ts +16 -0
- package/lib/place/route/route-parameter-bindings.d.ts +18 -0
- package/lib/place/route/route-parameter-sanitiser.d.ts +15 -0
- package/package.json +31 -0
- package/public_api.d.ts +5 -0
- package/schematics/collection.json +14 -0
- package/schematics/ng-add/index.d.ts +2 -0
- package/schematics/ng-add/index.js +12 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/place-routes/index.d.ts +3 -0
- package/schematics/place-routes/index.js +92 -0
- package/schematics/place-routes/index.js.map +1 -0
- package/schematics/place-routes/place-def.d.ts +31 -0
- package/schematics/place-routes/place-def.js +75 -0
- package/schematics/place-routes/place-def.js.map +1 -0
- package/schematics/place-routes/scanner.d.ts +26 -0
- package/schematics/place-routes/scanner.js +124 -0
- package/schematics/place-routes/scanner.js.map +1 -0
- package/schematics/place-routes/schema.d.ts +7 -0
- package/schematics/place-routes/schema.js +3 -0
- package/schematics/place-routes/schema.js.map +1 -0
- package/schematics/place-routes/schema.json +17 -0
- package/schematics/place-routes/templates/apps/__project__/src/app/place-routes.ts.template +31 -0
|
@@ -0,0 +1,327 @@
|
|
|
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 { ActivatedRoute, Router } from '@angular/router';
|
|
7
|
+
import { Binding, Dsl, GarbageCollector, MutableValueModel, Trace, TransactionObserver } from '@coolon/pectin';
|
|
8
|
+
import { Klass } from '@coolon/typescript-utilities';
|
|
9
|
+
/**
|
|
10
|
+
* @record
|
|
11
|
+
* @template T
|
|
12
|
+
*/
|
|
13
|
+
function ResolvedParameter() { }
|
|
14
|
+
if (false) {
|
|
15
|
+
/** @type {?} */
|
|
16
|
+
ResolvedParameter.prototype.parameter;
|
|
17
|
+
/** @type {?} */
|
|
18
|
+
ResolvedParameter.prototype.resolvedValue;
|
|
19
|
+
}
|
|
20
|
+
var ResolvedParameters = /** @class */ (function () {
|
|
21
|
+
function ResolvedParameters(parameters) {
|
|
22
|
+
this.parameters = parameters;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @template T
|
|
26
|
+
* @param {?} parameter
|
|
27
|
+
* @return {?}
|
|
28
|
+
*/
|
|
29
|
+
ResolvedParameters.prototype.get = /**
|
|
30
|
+
* @template T
|
|
31
|
+
* @param {?} parameter
|
|
32
|
+
* @return {?}
|
|
33
|
+
*/
|
|
34
|
+
function (parameter) {
|
|
35
|
+
/** @type {?} */
|
|
36
|
+
var resolved = this.parameters.find((/**
|
|
37
|
+
* @param {?} p
|
|
38
|
+
* @return {?}
|
|
39
|
+
*/
|
|
40
|
+
function (p) { return p.parameter === parameter; }));
|
|
41
|
+
return resolved ? resolved.resolvedValue : null;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* @template T
|
|
45
|
+
* @param {?} parameter
|
|
46
|
+
* @param {?} value
|
|
47
|
+
* @return {?}
|
|
48
|
+
*/
|
|
49
|
+
ResolvedParameters.prototype.replace = /**
|
|
50
|
+
* @template T
|
|
51
|
+
* @param {?} parameter
|
|
52
|
+
* @param {?} value
|
|
53
|
+
* @return {?}
|
|
54
|
+
*/
|
|
55
|
+
function (parameter, value) {
|
|
56
|
+
return new ResolvedParameters(this.parameters.filter((/**
|
|
57
|
+
* @param {?} p
|
|
58
|
+
* @return {?}
|
|
59
|
+
*/
|
|
60
|
+
function (p) { return p.parameter !== parameter; })).concat({
|
|
61
|
+
parameter: parameter,
|
|
62
|
+
resolvedValue: value
|
|
63
|
+
}));
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* @protected
|
|
67
|
+
* @return {?}
|
|
68
|
+
*/
|
|
69
|
+
ResolvedParameters.prototype.getFormattedRouteId = /**
|
|
70
|
+
* @protected
|
|
71
|
+
* @return {?}
|
|
72
|
+
*/
|
|
73
|
+
function () {
|
|
74
|
+
/** @type {?} */
|
|
75
|
+
var routeIdParam = this.getRouteIdParam();
|
|
76
|
+
return routeIdParam ? routeIdParam.parameter.type.format(routeIdParam.resolvedValue) : null;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* @private
|
|
80
|
+
* @return {?}
|
|
81
|
+
*/
|
|
82
|
+
ResolvedParameters.prototype.getRouteIdParam = /**
|
|
83
|
+
* @private
|
|
84
|
+
* @return {?}
|
|
85
|
+
*/
|
|
86
|
+
function () {
|
|
87
|
+
return this.parameters.find((/**
|
|
88
|
+
* @param {?} p
|
|
89
|
+
* @return {?}
|
|
90
|
+
*/
|
|
91
|
+
function (p) { return p.parameter.isRouteId; }));
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* @protected
|
|
95
|
+
* @return {?}
|
|
96
|
+
*/
|
|
97
|
+
ResolvedParameters.prototype.getFormattedParameters = /**
|
|
98
|
+
* @protected
|
|
99
|
+
* @return {?}
|
|
100
|
+
*/
|
|
101
|
+
function () {
|
|
102
|
+
/** @type {?} */
|
|
103
|
+
var params = {};
|
|
104
|
+
/** @type {?} */
|
|
105
|
+
var routeIdParam = this.parameters.filter((/**
|
|
106
|
+
* @param {?} p
|
|
107
|
+
* @return {?}
|
|
108
|
+
*/
|
|
109
|
+
function (p) { return !p.parameter.isRouteId; })).forEach((/**
|
|
110
|
+
* @param {?} p
|
|
111
|
+
* @return {?}
|
|
112
|
+
*/
|
|
113
|
+
function (p) {
|
|
114
|
+
params[p.parameter.name] = p.parameter.type.format(p.resolvedValue);
|
|
115
|
+
}));
|
|
116
|
+
return params;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* @return {?}
|
|
120
|
+
*/
|
|
121
|
+
ResolvedParameters.prototype.hasRouteId = /**
|
|
122
|
+
* @return {?}
|
|
123
|
+
*/
|
|
124
|
+
function () {
|
|
125
|
+
return !!this.getRouteIdParam();
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* @param {?} previous
|
|
129
|
+
* @param {?} router
|
|
130
|
+
* @param {?} activatedRoute
|
|
131
|
+
* @return {?}
|
|
132
|
+
*/
|
|
133
|
+
ResolvedParameters.prototype.redirect = /**
|
|
134
|
+
* @param {?} previous
|
|
135
|
+
* @param {?} router
|
|
136
|
+
* @param {?} activatedRoute
|
|
137
|
+
* @return {?}
|
|
138
|
+
*/
|
|
139
|
+
function (previous, router, activatedRoute) {
|
|
140
|
+
/** @type {?} */
|
|
141
|
+
var routeId = this.getFormattedRouteId();
|
|
142
|
+
/** @type {?} */
|
|
143
|
+
var relativePath = !!previous.hasRouteId() ? '..' : '.';
|
|
144
|
+
/** @type {?} */
|
|
145
|
+
var path = routeId ? [relativePath, routeId, this.getFormattedParameters()] : [relativePath, this.getFormattedParameters()];
|
|
146
|
+
router.navigate(path, {
|
|
147
|
+
relativeTo: activatedRoute,
|
|
148
|
+
});
|
|
149
|
+
};
|
|
150
|
+
tslib_1.__decorate([
|
|
151
|
+
Trace(),
|
|
152
|
+
tslib_1.__metadata("design:type", Function),
|
|
153
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
154
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
155
|
+
], ResolvedParameters.prototype, "getFormattedRouteId", null);
|
|
156
|
+
tslib_1.__decorate([
|
|
157
|
+
Trace(),
|
|
158
|
+
tslib_1.__metadata("design:type", Function),
|
|
159
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
160
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
161
|
+
], ResolvedParameters.prototype, "getFormattedParameters", null);
|
|
162
|
+
tslib_1.__decorate([
|
|
163
|
+
Trace(),
|
|
164
|
+
tslib_1.__metadata("design:type", Function),
|
|
165
|
+
tslib_1.__metadata("design:paramtypes", [ResolvedParameters, Router, ActivatedRoute]),
|
|
166
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
167
|
+
], ResolvedParameters.prototype, "redirect", null);
|
|
168
|
+
return ResolvedParameters;
|
|
169
|
+
}());
|
|
170
|
+
if (false) {
|
|
171
|
+
/** @type {?} */
|
|
172
|
+
ResolvedParameters.prototype.parameters;
|
|
173
|
+
}
|
|
174
|
+
var RouteParameterBindings = /** @class */ (function (_super) {
|
|
175
|
+
tslib_1.__extends(RouteParameterBindings, _super);
|
|
176
|
+
function RouteParameterBindings(component, router, activatedRoute) {
|
|
177
|
+
var _this = _super.call(this) || this;
|
|
178
|
+
_this.component = component;
|
|
179
|
+
_this.router = router;
|
|
180
|
+
_this.activatedRoute = activatedRoute;
|
|
181
|
+
_this._incomingRouteChange = new MutableValueModel(false);
|
|
182
|
+
_this.resolvedParameters = new MutableValueModel();
|
|
183
|
+
var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe;
|
|
184
|
+
_this.txo = new TransactionObserver(); //.onEvent(e => console.log(e.toString()));
|
|
185
|
+
//.onEvent(e => console.log(e.toString()));
|
|
186
|
+
/** @type {?} */
|
|
187
|
+
var routeParameterDefs = Klass.get(component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);
|
|
188
|
+
routeParameterDefs.forEach((/**
|
|
189
|
+
* @param {?} parameter
|
|
190
|
+
* @return {?}
|
|
191
|
+
*/
|
|
192
|
+
function (parameter) { return _this.installBinding(parameter); }));
|
|
193
|
+
/** @type {?} */
|
|
194
|
+
var incomingResolvedRouteParameters = observe.valuesFrom(activatedRoute.paramMap)
|
|
195
|
+
.last()
|
|
196
|
+
.map((/**
|
|
197
|
+
* @param {?} params
|
|
198
|
+
* @return {?}
|
|
199
|
+
*/
|
|
200
|
+
function (params) {
|
|
201
|
+
/** @type {?} */
|
|
202
|
+
var result = [];
|
|
203
|
+
routeParameterDefs.forEach((/**
|
|
204
|
+
* @param {?} parameter
|
|
205
|
+
* @return {?}
|
|
206
|
+
*/
|
|
207
|
+
function (parameter) {
|
|
208
|
+
result.push({ parameter: parameter, resolvedValue: parameter.type.parse(params.get(parameter.name)) });
|
|
209
|
+
}));
|
|
210
|
+
return new ResolvedParameters(result);
|
|
211
|
+
}));
|
|
212
|
+
incomingResolvedRouteParameters.subscribe((/**
|
|
213
|
+
* @param {?} resolvedParameters
|
|
214
|
+
* @return {?}
|
|
215
|
+
*/
|
|
216
|
+
function (resolvedParameters) {
|
|
217
|
+
_this._incomingRouteChange.value = true;
|
|
218
|
+
_this.resolvedParameters.value = resolvedParameters;
|
|
219
|
+
_this._incomingRouteChange.value = false;
|
|
220
|
+
}));
|
|
221
|
+
when.valueOf(_this.resolvedParameters).changes((/**
|
|
222
|
+
* @param {?} params
|
|
223
|
+
* @param {?} previous
|
|
224
|
+
* @return {?}
|
|
225
|
+
*/
|
|
226
|
+
function (params, previous) {
|
|
227
|
+
params.redirect(previous, router, activatedRoute);
|
|
228
|
+
}), { unless: _this.incomingRouteChange });
|
|
229
|
+
_this.txo.observe('incomingResolvedRouteParameters', incomingResolvedRouteParameters);
|
|
230
|
+
_this.txo.observe('this.routeIsChanging', _this.incomingRouteChange);
|
|
231
|
+
return _this;
|
|
232
|
+
}
|
|
233
|
+
Object.defineProperty(RouteParameterBindings.prototype, "incomingRouteChange", {
|
|
234
|
+
get: /**
|
|
235
|
+
* @return {?}
|
|
236
|
+
*/
|
|
237
|
+
function () {
|
|
238
|
+
return this._incomingRouteChange.readonly;
|
|
239
|
+
},
|
|
240
|
+
enumerable: true,
|
|
241
|
+
configurable: true
|
|
242
|
+
});
|
|
243
|
+
/**
|
|
244
|
+
* @protected
|
|
245
|
+
* @template T
|
|
246
|
+
* @param {?} parameter
|
|
247
|
+
* @return {?}
|
|
248
|
+
*/
|
|
249
|
+
RouteParameterBindings.prototype.installBinding = /**
|
|
250
|
+
* @protected
|
|
251
|
+
* @template T
|
|
252
|
+
* @param {?} parameter
|
|
253
|
+
* @return {?}
|
|
254
|
+
*/
|
|
255
|
+
function (parameter) {
|
|
256
|
+
/** @type {?} */
|
|
257
|
+
var model = this.getModelFor(parameter);
|
|
258
|
+
this.txo.observe(parameter.propertyName, model);
|
|
259
|
+
this.registerDisposable(new Binding(this.resolvedParameters, model, {
|
|
260
|
+
toRight: /**
|
|
261
|
+
* @param {?} parameters
|
|
262
|
+
* @return {?}
|
|
263
|
+
*/
|
|
264
|
+
function (parameters) {
|
|
265
|
+
return parameters.get(parameter);
|
|
266
|
+
},
|
|
267
|
+
toLeft: /**
|
|
268
|
+
* @param {?} value
|
|
269
|
+
* @param {?=} currentParameters
|
|
270
|
+
* @return {?}
|
|
271
|
+
*/
|
|
272
|
+
function (value, currentParameters) {
|
|
273
|
+
return currentParameters.replace(parameter, value);
|
|
274
|
+
}
|
|
275
|
+
}));
|
|
276
|
+
};
|
|
277
|
+
/**
|
|
278
|
+
* @private
|
|
279
|
+
* @template T
|
|
280
|
+
* @param {?} parameter
|
|
281
|
+
* @return {?}
|
|
282
|
+
*/
|
|
283
|
+
RouteParameterBindings.prototype.getModelFor = /**
|
|
284
|
+
* @private
|
|
285
|
+
* @template T
|
|
286
|
+
* @param {?} parameter
|
|
287
|
+
* @return {?}
|
|
288
|
+
*/
|
|
289
|
+
function (parameter) {
|
|
290
|
+
return this.component[parameter.propertyName];
|
|
291
|
+
};
|
|
292
|
+
return RouteParameterBindings;
|
|
293
|
+
}(GarbageCollector));
|
|
294
|
+
export { RouteParameterBindings };
|
|
295
|
+
if (false) {
|
|
296
|
+
/** @type {?} */
|
|
297
|
+
RouteParameterBindings.prototype._incomingRouteChange;
|
|
298
|
+
/**
|
|
299
|
+
* @type {?}
|
|
300
|
+
* @private
|
|
301
|
+
*/
|
|
302
|
+
RouteParameterBindings.prototype.txo;
|
|
303
|
+
/**
|
|
304
|
+
* @type {?}
|
|
305
|
+
* @private
|
|
306
|
+
*/
|
|
307
|
+
RouteParameterBindings.prototype.resolvedParameters;
|
|
308
|
+
/**
|
|
309
|
+
* @type {?}
|
|
310
|
+
* @private
|
|
311
|
+
*/
|
|
312
|
+
RouteParameterBindings.prototype.component;
|
|
313
|
+
/**
|
|
314
|
+
* @type {?}
|
|
315
|
+
* @private
|
|
316
|
+
*/
|
|
317
|
+
RouteParameterBindings.prototype.router;
|
|
318
|
+
/**
|
|
319
|
+
* @type {?}
|
|
320
|
+
* @private
|
|
321
|
+
*/
|
|
322
|
+
RouteParameterBindings.prototype.activatedRoute;
|
|
323
|
+
}
|
|
324
|
+
(function (RouteParameterBindings) {
|
|
325
|
+
RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
|
|
326
|
+
})(RouteParameterBindings || (RouteParameterBindings = {}));
|
|
327
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3JvdXRlLXBhcmFtZXRlci1iaW5kaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLE9BQU8sRUFDUCxHQUFHLEVBQ0gsZ0JBQWdCLEVBRWhCLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsbUJBQW1CLEVBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQUlyRCxnQ0FHQzs7O0lBRkMsc0NBQWtDOztJQUNsQywwQ0FBaUI7O0FBR25CO0lBQ0UsNEJBQXFCLFVBQW9DO1FBQXBDLGVBQVUsR0FBVixVQUFVLENBQTBCO0lBQ3pELENBQUM7Ozs7OztJQUVELGdDQUFHOzs7OztJQUFILFVBQU8sU0FBaUM7O1lBQ2hDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUF6QixDQUF5QixFQUFDO1FBQ3JFLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEQsQ0FBQzs7Ozs7OztJQUVELG9DQUFPOzs7Ozs7SUFBUCxVQUFXLFNBQWlDLEVBQUUsS0FBUTtRQUNwRCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBekIsQ0FBeUIsRUFBQyxDQUFDLE1BQU0s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QyxZQUFZLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0gsNkJBQUM7QUFBRCxDQUFDLEFBN0RELENBQTRDLGdCQUFnQixHQTZEM0Q7Ozs7SUEzREMsc0RBQTZFOzs7OztJQUU3RSxxQ0FBaUM7Ozs7O0lBRWpDLG9EQUFrRjs7Ozs7SUFFdEUsMkNBQStCOzs7OztJQUFFLHdDQUErQjs7Ozs7SUFBRSxnREFBK0M7O0FBdUQvSCxXQUFpQixzQkFBc0I7SUFDeEIsK0NBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDO0FBQzFFLENBQUMsRUFGZ0Isc0JBQXNCLEtBQXRCLHNCQUFzQixRQUV0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQmluZGluZyxcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBNdXRhYmxlSGFzVmFsdWUsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBUcmFjZSxcbiAgVHJhbnNhY3Rpb25PYnNlcnZlclxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBLbGFzcyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0LXBsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5cbmludGVyZmFjZSBSZXNvbHZlZFBhcmFtZXRlcjxUPiB7XG4gIHBhcmFtZXRlcjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPjtcbiAgcmVzb2x2ZWRWYWx1ZTogVDtcbn1cblxuY2xhc3MgUmVzb2x2ZWRQYXJhbWV0ZXJzIHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGFyYW1ldGVyczogUmVzb2x2ZWRQYXJhbWV0ZXI8YW55PltdKSB7XG4gIH1cblxuICBnZXQ8VD4ocGFyYW1ldGVyOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+KTogVCB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSB0aGlzLnBhcmFtZXRlcnMuZmluZChwID0+IHAucGFyYW1ldGVyID09PSBwYXJhbWV0ZXIpO1xuICAgIHJldHVybiByZXNvbHZlZCA/IHJlc29sdmVkLnJlc29sdmVkVmFsdWUgOiBudWxsO1xuICB9XG5cbiAgcmVwbGFjZTxUPihwYXJhbWV0ZXI6IFBhcmFtZXRlckRlZmluaXRpb248VD4sIHZhbHVlOiBUKTogUmVzb2x2ZWRQYXJhbWV0ZXJzIHtcbiAgICByZXR1cm4gbmV3IFJlc29sdmVkUGFyYW1ldGVycyh0aGlzLnBhcmFtZXRlcnMuZmlsdGVyKHAgPT4gcC5wYXJhbWV0ZXIgIT09IHBhcmFtZXRlcikuY29uY2F0KHtcbiAgICAgIHBhcmFtZXRlcixcbiAgICAgIHJlc29sdmVkVmFsdWU6IHZhbHVlXG4gICAgfSkpO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgcHJvdGVjdGVkIGdldEZvcm1hdHRlZFJvdXRlSWQoKSB7XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5nZXRSb3V0ZUlkUGFyYW0oKTtcbiAgICByZXR1cm4gcm91dGVJZFBhcmFtID8gcm91dGVJZFBhcmFtLnBhcmFtZXRlci50eXBlLmZvcm1hdChyb3V0ZUlkUGFyYW0ucmVzb2x2ZWRWYWx1ZSkgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSb3V0ZUlkUGFyYW0oKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycy5maW5kKHAgPT4gcC5wYXJhbWV0ZXIuaXNSb3V0ZUlkKTtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIHByb3RlY3RlZCBnZXRGb3JtYXR0ZWRQYXJhbWV0ZXJzKCkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIGNvbnN0IHJvdXRlSWRQYXJhbSA9IHRoaXMucGFyYW1ldGVycy5maWx0ZXIocCA9PiAhcC5wYXJhbWV0ZXIuaXNSb3V0ZUlkKS5mb3JFYWNoKHAgPT4ge1xuICAgICAgcGFyYW1zW3AucGFyYW1ldGVyLm5hbWVdID0gcC5wYXJhbWV0ZXIudHlwZS5mb3JtYXQocC5yZXNvbHZlZFZhbHVlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgaGFzUm91dGVJZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFJvdXRlSWRQYXJhbSgpO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgcmVkaXJlY3QocHJldmlvdXM6IFJlc29sdmVkUGFyYW1ldGVycywgcm91dGVyOiBSb3V0ZXIsIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIGNvbnN0IHJvdXRlSWQgPSB0aGlzLmdldEZvcm1hdHRlZFJvdXRlSWQoKTtcbiAgICBjb25zdCByZWxhdGl2ZVBhdGggPSAhIXByZXZpb3VzLmhhc1JvdXRlSWQoKSA/ICcuLicgOiAnLic7XG4gICAgY29uc3QgcGF0aCA9IHJvdXRlSWQgPyBbcmVsYXRpdmVQYXRoLCByb3V0ZUlkLCB0aGlzLmdldEZvcm1hdHRlZFBhcmFtZXRlcnMoKV0gOiBbcmVsYXRpdmVQYXRoLCB0aGlzLmdldEZvcm1hdHRlZFBhcmFtZXRlcnMoKV07XG4gICAgcm91dGVyLm5hdmlnYXRlKHBhdGgsIHtcbiAgICAgIHJlbGF0aXZlVG86IGFjdGl2YXRlZFJvdXRlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSb3V0ZVBhcmFtZXRlckJpbmRpbmdzIGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgcHVibGljIHJlYWRvbmx5IF9pbmNvbWluZ1JvdXRlQ2hhbmdlID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHR4bzogVHJhbnNhY3Rpb25PYnNlcnZlcjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVkUGFyYW1ldGVycyA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxSZXNvbHZlZFBhcmFtZXRlcnM+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb21wb25lbnQ6IGFueSwgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUgfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLnR4byA9IG5ldyBUcmFuc2FjdGlvbk9ic2VydmVyKCk7Ly8ub25FdmVudChlID0+IGNvbnNvbGUubG9nKGUudG9TdHJpbmcoKSkpO1xuXG4gICAgY29uc3Qgcm91dGVQYXJhbWV0ZXJEZWZzID0gS2xhc3MuZ2V0KGNvbXBvbmVudCkuZ2V0TWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZKTtcbiAgICByb3V0ZVBhcmFtZXRlckRlZnMuZm9yRWFjaChwYXJhbWV0ZXIgPT4gdGhpcy5pbnN0YWxsQmluZGluZyhwYXJhbWV0ZXIpKTtcblxuICAgIGNvbnN0IGluY29taW5nUmVzb2x2ZWRSb3V0ZVBhcmFtZXRlcnMgPSBvYnNlcnZlLnZhbHVlc0Zyb20oYWN0aXZhdGVkUm91dGUucGFyYW1NYXApXG4gICAgICAubGFzdCgpXG4gICAgICAubWFwKHBhcmFtcyA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUmVzb2x2ZWRQYXJhbWV0ZXI8YW55PltdID0gW107XG4gICAgICAgIHJvdXRlUGFyYW1ldGVyRGVmcy5mb3JFYWNoKHBhcmFtZXRlciA9PiB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goeyBwYXJhbWV0ZXIsIHJlc29sdmVkVmFsdWU6IHBhcmFtZXRlci50eXBlLnBhcnNlKHBhcmFtcy5nZXQocGFyYW1ldGVyLm5hbWUpKSB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBuZXcgUmVzb2x2ZWRQYXJhbWV0ZXJzKHJlc3VsdCk7XG4gICAgICB9KTtcblxuICAgIGluY29taW5nUmVzb2x2ZWRSb3V0ZVBhcmFtZXRlcnMuc3Vic2NyaWJlKHJlc29sdmVkUGFyYW1ldGVycyA9PiB7XG4gICAgICB0aGlzLl9pbmNvbWluZ1JvdXRlQ2hhbmdlLnZhbHVlID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVzb2x2ZWRQYXJhbWV0ZXJzLnZhbHVlID0gcmVzb2x2ZWRQYXJhbWV0ZXJzO1xuICAgICAgdGhpcy5faW5jb21pbmdSb3V0ZUNoYW5nZS52YWx1ZSA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgd2hlbi52YWx1ZU9mKHRoaXMucmVzb2x2ZWRQYXJhbWV0ZXJzKS5jaGFuZ2VzKChwYXJhbXMsIHByZXZpb3VzKSA9PiB7XG4gICAgICBwYXJhbXMucmVkaXJlY3QocHJldmlvdXMsIHJvdXRlciwgYWN0aXZhdGVkUm91dGUpO1xuICAgIH0sIHsgdW5sZXNzOiB0aGlzLmluY29taW5nUm91dGVDaGFuZ2UgfSk7XG5cbiAgICB0aGlzLnR4by5vYnNlcnZlKCdpbmNvbWluZ1Jlc29sdmVkUm91dGVQYXJhbWV0ZXJzJywgaW5jb21pbmdSZXNvbHZlZFJvdXRlUGFyYW1ldGVycyk7XG4gICAgdGhpcy50eG8ub2JzZXJ2ZSgndGhpcy5yb3V0ZUlzQ2hhbmdpbmcnLCB0aGlzLmluY29taW5nUm91dGVDaGFuZ2UpO1xuICB9XG5cbiAgZ2V0IGluY29taW5nUm91dGVDaGFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2luY29taW5nUm91dGVDaGFuZ2UucmVhZG9ubHk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5zdGFsbEJpbmRpbmc8VD4ocGFyYW1ldGVyOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+KSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLmdldE1vZGVsRm9yKHBhcmFtZXRlcik7XG4gICAgdGhpcy50eG8ub2JzZXJ2ZShwYXJhbWV0ZXIucHJvcGVydHlOYW1lLCBtb2RlbCk7XG4gICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEJpbmRpbmcodGhpcy5yZXNvbHZlZFBhcmFtZXRlcnMsIG1vZGVsLCB7XG4gICAgICB0b1JpZ2h0KHBhcmFtZXRlcnM6IFJlc29sdmVkUGFyYW1ldGVycyk6IFQge1xuICAgICAgICByZXR1cm4gcGFyYW1ldGVycy5nZXQocGFyYW1ldGVyKTtcbiAgICAgIH0sXG4gICAgICB0b0xlZnQodmFsdWU6IFQsIGN1cnJlbnRQYXJhbWV0ZXJzPzogUmVzb2x2ZWRQYXJhbWV0ZXJzKTogUmVzb2x2ZWRQYXJhbWV0ZXJzIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRQYXJhbWV0ZXJzLnJlcGxhY2UocGFyYW1ldGVyLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cblxuICBwcml2YXRlIGdldE1vZGVsRm9yPFQ+KHBhcmFtZXRlcjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPik6IE11dGFibGVIYXNWYWx1ZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50W3BhcmFtZXRlci5wcm9wZXJ0eU5hbWVdO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUm91dGVQYXJhbWV0ZXJCaW5kaW5ncyB7XG4gIGV4cG9ydCBjb25zdCBST1VURV9QQVJBTUVURVJfTElTVF9LRVkgPSBTeW1ib2woJ3BsYWNlOnJvdXRlOnBhcmFtZXRlcnMnKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,203 @@
|
|
|
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 { assert, Trace } from '@coolon/pectin';
|
|
7
|
+
import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
|
|
8
|
+
var RouteParameterSanitiser = /** @class */ (function () {
|
|
9
|
+
function RouteParameterSanitiser(parameterDefs, injector) {
|
|
10
|
+
this.parameterDefs = parameterDefs;
|
|
11
|
+
this.injector = injector;
|
|
12
|
+
this.sanitisedParameters = [];
|
|
13
|
+
this.routeParameter = parameterDefs.find((/**
|
|
14
|
+
* @param {?} p
|
|
15
|
+
* @return {?}
|
|
16
|
+
*/
|
|
17
|
+
function (p) { return p.isRouteId; }));
|
|
18
|
+
this.queryParameters = parameterDefs.filter((/**
|
|
19
|
+
* @param {?} p
|
|
20
|
+
* @return {?}
|
|
21
|
+
*/
|
|
22
|
+
function (p) { return !p.isRouteId; }));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @param {?} snapshot
|
|
26
|
+
* @return {?}
|
|
27
|
+
*/
|
|
28
|
+
RouteParameterSanitiser.prototype.sanitise = /**
|
|
29
|
+
* @param {?} snapshot
|
|
30
|
+
* @return {?}
|
|
31
|
+
*/
|
|
32
|
+
function (snapshot) {
|
|
33
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
34
|
+
var e_1, _a, routeOk, _b, _c, param, e_1_1;
|
|
35
|
+
return tslib_1.__generator(this, function (_d) {
|
|
36
|
+
switch (_d.label) {
|
|
37
|
+
case 0:
|
|
38
|
+
if (!this.routeParameter) return [3 /*break*/, 2];
|
|
39
|
+
return [4 /*yield*/, this.sanitiseParameter(this.routeParameter, snapshot.paramMap.get(this.routeParameter.name))];
|
|
40
|
+
case 1:
|
|
41
|
+
routeOk = _d.sent();
|
|
42
|
+
if (!routeOk) {
|
|
43
|
+
// if the route id isn't ok we redirect immediately as the query params may need to be sanitised in the
|
|
44
|
+
// context of the route id.
|
|
45
|
+
return [2 /*return*/, false];
|
|
46
|
+
}
|
|
47
|
+
_d.label = 2;
|
|
48
|
+
case 2:
|
|
49
|
+
_d.trys.push([2, 7, 8, 9]);
|
|
50
|
+
_b = tslib_1.__values(this.queryParameters), _c = _b.next();
|
|
51
|
+
_d.label = 3;
|
|
52
|
+
case 3:
|
|
53
|
+
if (!!_c.done) return [3 /*break*/, 6];
|
|
54
|
+
param = _c.value;
|
|
55
|
+
return [4 /*yield*/, this.sanitiseParameter(param, snapshot.queryParamMap.get(param.name))];
|
|
56
|
+
case 4:
|
|
57
|
+
_d.sent();
|
|
58
|
+
_d.label = 5;
|
|
59
|
+
case 5:
|
|
60
|
+
_c = _b.next();
|
|
61
|
+
return [3 /*break*/, 3];
|
|
62
|
+
case 6: return [3 /*break*/, 9];
|
|
63
|
+
case 7:
|
|
64
|
+
e_1_1 = _d.sent();
|
|
65
|
+
e_1 = { error: e_1_1 };
|
|
66
|
+
return [3 /*break*/, 9];
|
|
67
|
+
case 8:
|
|
68
|
+
try {
|
|
69
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
70
|
+
}
|
|
71
|
+
finally { if (e_1) throw e_1.error; }
|
|
72
|
+
return [7 /*endfinally*/];
|
|
73
|
+
case 9: return [2 /*return*/, this.sanitisedParameters.length === 0];
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* @template T
|
|
80
|
+
* @param {?} def
|
|
81
|
+
* @param {?} formattedInitialValue
|
|
82
|
+
* @return {?}
|
|
83
|
+
*/
|
|
84
|
+
RouteParameterSanitiser.prototype.sanitiseParameter = /**
|
|
85
|
+
* @template T
|
|
86
|
+
* @param {?} def
|
|
87
|
+
* @param {?} formattedInitialValue
|
|
88
|
+
* @return {?}
|
|
89
|
+
*/
|
|
90
|
+
function (def, formattedInitialValue) {
|
|
91
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
92
|
+
var sanitiser, initialValue, sanitisedValue;
|
|
93
|
+
return tslib_1.__generator(this, function (_a) {
|
|
94
|
+
switch (_a.label) {
|
|
95
|
+
case 0:
|
|
96
|
+
if (!def) return [3 /*break*/, 2];
|
|
97
|
+
sanitiser = this.getSanitiser(def);
|
|
98
|
+
if (!sanitiser) return [3 /*break*/, 2];
|
|
99
|
+
initialValue = def.type.parse(formattedInitialValue);
|
|
100
|
+
return [4 /*yield*/, sanitiser.sanitise(initialValue)];
|
|
101
|
+
case 1:
|
|
102
|
+
sanitisedValue = _a.sent();
|
|
103
|
+
if (initialValue !== sanitisedValue) {
|
|
104
|
+
this.sanitisedParameters.push({ def: def, value: def.type.format(sanitisedValue) });
|
|
105
|
+
return [2 /*return*/, false];
|
|
106
|
+
}
|
|
107
|
+
_a.label = 2;
|
|
108
|
+
case 2: return [2 /*return*/, true];
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* @param {?} router
|
|
115
|
+
* @return {?}
|
|
116
|
+
*/
|
|
117
|
+
RouteParameterSanitiser.prototype.redirect = /**
|
|
118
|
+
* @param {?} router
|
|
119
|
+
* @return {?}
|
|
120
|
+
*/
|
|
121
|
+
function (router) {
|
|
122
|
+
var _this = this;
|
|
123
|
+
assert.isTruthy(this.sanitisedParameters.length !== 0);
|
|
124
|
+
/** @type {?} */
|
|
125
|
+
var sanitisedRouteId = this.sanitisedParameters.find((/**
|
|
126
|
+
* @param {?} s
|
|
127
|
+
* @return {?}
|
|
128
|
+
*/
|
|
129
|
+
function (s) { return s.def === _this.routeParameter; }));
|
|
130
|
+
if (sanitisedRouteId) {
|
|
131
|
+
return router.navigate(['..', sanitisedRouteId.value]);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
/** @type {?} */
|
|
135
|
+
var queryParams = this.sanitisedParameters.filter((/**
|
|
136
|
+
* @param {?} s
|
|
137
|
+
* @return {?}
|
|
138
|
+
*/
|
|
139
|
+
function (s) { return s.def !== _this.routeParameter; }))
|
|
140
|
+
.reduce((/**
|
|
141
|
+
* @param {?} params
|
|
142
|
+
* @param {?} item
|
|
143
|
+
* @return {?}
|
|
144
|
+
*/
|
|
145
|
+
function (params, item) {
|
|
146
|
+
var _a;
|
|
147
|
+
return (tslib_1.__assign({}, params, (_a = {}, _a[item.def.name] = item.value, _a)));
|
|
148
|
+
}), {});
|
|
149
|
+
return router.navigate(['.', queryParams]);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* @private
|
|
154
|
+
* @template T
|
|
155
|
+
* @param {?} def
|
|
156
|
+
* @return {?}
|
|
157
|
+
*/
|
|
158
|
+
RouteParameterSanitiser.prototype.getSanitiser = /**
|
|
159
|
+
* @private
|
|
160
|
+
* @template T
|
|
161
|
+
* @param {?} def
|
|
162
|
+
* @return {?}
|
|
163
|
+
*/
|
|
164
|
+
function (def) {
|
|
165
|
+
return def.sanitiser ? this.injector.get(def.sanitiser, new def.sanitiser()) : null;
|
|
166
|
+
};
|
|
167
|
+
tslib_1.__decorate([
|
|
168
|
+
Trace(),
|
|
169
|
+
tslib_1.__metadata("design:type", Function),
|
|
170
|
+
tslib_1.__metadata("design:paramtypes", [Object, String]),
|
|
171
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
172
|
+
], RouteParameterSanitiser.prototype, "sanitiseParameter", null);
|
|
173
|
+
tslib_1.__decorate([
|
|
174
|
+
Memoize(),
|
|
175
|
+
tslib_1.__metadata("design:type", Function),
|
|
176
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
177
|
+
tslib_1.__metadata("design:returntype", Object)
|
|
178
|
+
], RouteParameterSanitiser.prototype, "getSanitiser", null);
|
|
179
|
+
return RouteParameterSanitiser;
|
|
180
|
+
}());
|
|
181
|
+
export { RouteParameterSanitiser };
|
|
182
|
+
if (false) {
|
|
183
|
+
/**
|
|
184
|
+
* @type {?}
|
|
185
|
+
* @private
|
|
186
|
+
*/
|
|
187
|
+
RouteParameterSanitiser.prototype.routeParameter;
|
|
188
|
+
/**
|
|
189
|
+
* @type {?}
|
|
190
|
+
* @private
|
|
191
|
+
*/
|
|
192
|
+
RouteParameterSanitiser.prototype.queryParameters;
|
|
193
|
+
/**
|
|
194
|
+
* @type {?}
|
|
195
|
+
* @private
|
|
196
|
+
*/
|
|
197
|
+
RouteParameterSanitiser.prototype.sanitisedParameters;
|
|
198
|
+
/** @type {?} */
|
|
199
|
+
RouteParameterSanitiser.prototype.parameterDefs;
|
|
200
|
+
/** @type {?} */
|
|
201
|
+
RouteParameterSanitiser.prototype.injector;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFJM0U7SUFPRSxpQ0FBcUIsYUFBeUMsRUFBVyxRQUFrQjtRQUF0RSxrQkFBYSxHQUFiLGFBQWEsQ0FBNEI7UUFBVyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRjFFLHdCQUFtQixHQUF1RCxFQUFFLENBQUM7UUFHNUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFNBQVMsRUFBWCxDQUFXLEVBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsZUFBZSxHQUFHLGFBQWEsQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQVosQ0FBWSxFQUFDLENBQUM7SUFDakUsQ0FBQzs7Ozs7SUFFSywwQ0FBUTs7OztJQUFkLFVBQWUsUUFBZ0M7Ozs7Ozs2QkFDekMsSUFBSSxDQUFDLGNBQWMsRUFBbkIsd0JBQW1CO3dCQUNMLHFCQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQTs7d0JBQTVHLE9BQU8sR0FBRyxTQUFrRzt3QkFDbEgsSUFBSSxDQUFDLE9BQU8sRUFBRTs0QkFDWix1R0FBdUc7NEJBQ3ZHLDJCQUEyQjs0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QUEwRDs7Ozs7SUFDMUQsa0RBQTZEOzs7OztJQUU3RCxzREFBOEY7O0lBRWxGLGdEQUFrRDs7SUFBRSwyQ0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGFzc2VydCwgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yL2Rpc3Qvc3JjJztcbmltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcbmltcG9ydCB7IFBhcmFtZXRlclNhbml0aXNlciB9IGZyb20gJy4vcGFyYW1ldGVyLXNhbml0aXNlcic7XG5cbmV4cG9ydCBjbGFzcyBSb3V0ZVBhcmFtZXRlclNhbml0aXNlciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZVBhcmFtZXRlcjogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+O1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXJ5UGFyYW1ldGVyczogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGlzZWRQYXJhbWV0ZXJzOiB7IGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+LCB2YWx1ZTogc3RyaW5nIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHBhcmFtZXRlckRlZnM6IFBhcmFtZXRlckRlZmluaXRpb248YW55PltdLCByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLnJvdXRlUGFyYW1ldGVyID0gcGFyYW1ldGVyRGVmcy5maW5kKHAgPT4gcC5pc1JvdXRlSWQpO1xuICAgIHRoaXMucXVlcnlQYXJhbWV0ZXJzID0gcGFyYW1ldGVyRGVmcy5maWx0ZXIocCA9PiAhcC5pc1JvdXRlSWQpO1xuICB9XG5cbiAgYXN5bmMgc2FuaXRpc2Uoc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5yb3V0ZVBhcmFtZXRlcikge1xuICAgICAgY29uc3Qgcm91dGVPayA9IGF3YWl0IHRoaXMuc2FuaXRpc2VQYXJhbWV0ZXIodGhpcy5yb3V0ZVBhcmFtZXRlciwgc25hcHNob3QucGFyYW1NYXAuZ2V0KHRoaXMucm91dGVQYXJhbWV0ZXIubmFtZSkpO1xuICAgICAgaWYgKCFyb3V0ZU9rKSB7XG4gICAgICAgIC8vIGlmIHRoZSByb3V0ZSBpZCBpc24ndCBvayB3ZSByZWRpcmVjdCBpbW1lZGlhdGVseSBhcyB0aGUgcXVlcnkgcGFyYW1zIG1heSBuZWVkIHRvIGJlIHNhbml0aXNlZCBpbiB0aGVcbiAgICAgICAgLy8gY29udGV4dCBvZiB0aGUgcm91dGUgaWQuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCBwYXJhbSBvZiB0aGlzLnF1ZXJ5UGFyYW1ldGVycykge1xuICAgICAgYXdhaXQgdGhpcy5zYW5pdGlzZVBhcmFtZXRlcihwYXJhbSwgc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQocGFyYW0ubmFtZSkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zYW5pdGlzZWRQYXJhbWV0ZXJzLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIGFzeW5jIHNhbml0aXNlUGFyYW1ldGVyPFQ+KGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiwgZm9ybWF0dGVkSW5pdGlhbFZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoZGVmKSB7XG4gICAgICBjb25zdCBzYW5pdGlzZXIgPSB0aGlzLmdldFNhbml0aXNlcihkZWYpO1xuICAgICAgaWYgKHNhbml0aXNlcikge1xuICAgICAgICBjb25zdCBpbml0aWFsVmFsdWUgPSBkZWYudHlwZS5wYXJzZShmb3JtYXR0ZWRJbml0aWFsVmFsdWUpO1xuICAgICAgICBjb25zdCBzYW5pdGlzZWRWYWx1ZSA9IGF3YWl0IHNhbml0aXNlci5zYW5pdGlzZShpbml0aWFsVmFsdWUpO1xuICAgICAgICBpZiAoaW5pdGlhbFZhbHVlICE9PSBzYW5pdGlzZWRWYWx1ZSkge1xuICAgICAgICAgIHRoaXMuc2FuaXRpc2VkUGFyYW1ldGVycy5wdXNoKHsgZGVmLCB2YWx1ZTogZGVmLnR5cGUuZm9ybWF0KHNhbml0aXNlZFZhbHVlKSB9KTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZWRpcmVjdChyb3V0ZXI6IFJvdXRlcikge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLnNhbml0aXNlZFBhcmFtZXRlcnMubGVuZ3RoICE9PSAwKTtcbiAgICBjb25zdCBzYW5pdGlzZWRSb3V0ZUlkID0gdGhpcy5zYW5pdGlzZWRQYXJhbWV0ZXJzLmZpbmQocyA9PiBzLmRlZiA9PT0gdGhpcy5yb3V0ZVBhcmFtZXRlcik7XG4gICAgaWYgKHNhbml0aXNlZFJvdXRlSWQpIHtcbiAgICAgIHJldHVybiByb3V0ZXIubmF2aWdhdGUoWycuLicsIHNhbml0aXNlZFJvdXRlSWQudmFsdWVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLnNhbml0aXNlZFBhcmFtZXRlcnMuZmlsdGVyKHMgPT4gcy5kZWYgIT09IHRoaXMucm91dGVQYXJhbWV0ZXIpXG4gICAgICAgIC5yZWR1Y2UoKHBhcmFtcywgaXRlbSkgPT4gKHsgLi4ucGFyYW1zLCBbaXRlbS5kZWYubmFtZV06IGl0ZW0udmFsdWUgfSksIHt9KTtcbiAgICAgIHJldHVybiByb3V0ZXIubmF2aWdhdGUoWycuJywgcXVlcnlQYXJhbXNdKTtcbiAgICB9XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIHByaXZhdGUgZ2V0U2FuaXRpc2VyPFQ+KGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPik6IFBhcmFtZXRlclNhbml0aXNlcjxUPiB7XG4gICAgcmV0dXJuIGRlZi5zYW5pdGlzZXIgPyB0aGlzLmluamVjdG9yLmdldDxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+KGRlZi5zYW5pdGlzZXIsIG5ldyBkZWYuc2FuaXRpc2VyKCkpIDogbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
export { AngularUiPowerupsModule } from './lib/angular-ui-powerups.module';
|
|
6
|
+
export { DisposableComponent, ResizeAwareComponent, AbstractInputComponent, NumberInputComponent, PasswordInputComponent, SelectInputComponent, StringInputComponent, Bounds, Dimension, Point } from './lib/components';
|
|
7
|
+
export { CommandDirective, FocusBindingDirective } from './lib/directives';
|
|
8
|
+
export { AbstractActivity, ACTIVITY_DATA, INTERACTION_CONTEXT, InteractionContext, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmationDialogComponent, DialogInteractionService } from './lib/interaction';
|
|
9
|
+
export { AbstractPlaceComponent, Place, PlaceModule, PlaceService, BusyOverlayComponent, EmptyStateComponent, PlaceOutletComponent, LeavePlaceGuard, PlaceRouteGuard, RouteId, QueryParameter, ParameterType, RouteParameterBindings, RouteParameterSanitiser } from './lib/place';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHNNQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHdEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLDhPQUFjLG1CQUFtQixDQUFDO0FBQ2xDLHFRQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuZ3VsYXItdWktcG93ZXJ1cHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbGFjZSc7XG4iXX0=
|