@coolon/angular-ui-powerups 0.0.8 → 0.0.10
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 +592 -167
- 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 +12 -11
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +12 -11
- package/esm2015/index.js +2 -2
- package/esm2015/lib/animations/slideDownAndUpAnimation.js +2 -1
- package/esm2015/lib/components/forms/abstract-input.component.js +22 -12
- package/esm2015/lib/directives/command.directive.js +48 -4
- package/esm2015/lib/directives/focus-binding.directive.js +30 -14
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +3 -1
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +4 -4
- package/esm2015/lib/place/components/nav/nav.component.js +31 -0
- package/esm2015/lib/place/guards/place-route.guard.js +3 -3
- package/esm2015/lib/place/index.js +4 -3
- package/esm2015/lib/place/place.module.js +16 -5
- package/esm2015/lib/place/route/parameter-decorators.js +98 -2
- package/esm2015/lib/place/route/parameter-definition.class.js +4 -2
- package/esm2015/lib/place/route/route-parameter-bindings.js +25 -13
- package/esm2015/lib/place/route/route-parameter-sanitiser.js +206 -74
- package/esm2015/public_api.js +2 -2
- package/esm5/coolon-angular-ui-powerups.js +12 -11
- package/esm5/index.js +2 -2
- package/esm5/lib/animations/slideDownAndUpAnimation.js +2 -1
- package/esm5/lib/components/forms/abstract-input.component.js +26 -12
- package/esm5/lib/directives/command.directive.js +52 -4
- package/esm5/lib/directives/focus-binding.directive.js +34 -14
- package/esm5/lib/interaction/services/dialog-interaction.service.js +3 -1
- package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +4 -4
- package/esm5/lib/place/components/nav/nav.component.js +36 -0
- package/esm5/lib/place/guards/place-route.guard.js +3 -3
- package/esm5/lib/place/index.js +4 -3
- package/esm5/lib/place/place.module.js +16 -5
- package/esm5/lib/place/route/parameter-decorators.js +98 -2
- package/esm5/lib/place/route/parameter-definition.class.js +4 -2
- package/esm5/lib/place/route/route-parameter-bindings.js +25 -13
- package/esm5/lib/place/route/route-parameter-sanitiser.js +284 -92
- package/esm5/public_api.js +2 -2
- package/fesm2015/coolon-angular-ui-powerups.js +473 -121
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +562 -139
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/components/forms/abstract-input.component.d.ts +9 -8
- package/lib/directives/command.directive.d.ts +6 -3
- package/lib/directives/focus-binding.directive.d.ts +1 -0
- package/lib/place/components/nav/nav.component.d.ts +7 -0
- package/lib/place/index.d.ts +1 -0
- package/lib/place/route/parameter-decorators.d.ts +17 -0
- package/lib/place/route/parameter-definition.class.d.ts +4 -3
- package/lib/place/route/route-parameter-sanitiser.d.ts +33 -6
- package/package.json +2 -2
|
@@ -5,17 +5,20 @@ import { MatDialog, MatButtonModule, MatDialogModule, MatTabsModule, MatProgress
|
|
|
5
5
|
import { BrowserModule } from '@angular/platform-browser';
|
|
6
6
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
7
7
|
import { __extends, __decorate, __metadata, __assign, __awaiter, __generator, __values } from 'tslib';
|
|
8
|
-
import { GarbageCollector,
|
|
8
|
+
import { GarbageCollector, DelegatingFormValueModel, UseDelegate, ValueModel, assert, UnaryCommand, lang, Dsl, Logger, ListModel, StoreInListModel, EventListenerList, DelegatingValueModel, MutableListModel, StoreInValueModel, Trace, OptionsHelper, ValueHolder, MutableValueModel, TransactionObserver, Binding } from '@coolon/pectin';
|
|
9
9
|
import { PortalModule } from '@angular/cdk/portal';
|
|
10
10
|
import { Deferred } from '@coolon/pectin/lib/promise/deferred.class';
|
|
11
|
+
import { assert as assert$1, Klass, Opts } from '@coolon/typescript-utilities';
|
|
11
12
|
import { MatDialog as MatDialog$1 } from '@angular/material/dialog';
|
|
13
|
+
import { MatListModule } from '@angular/material/list';
|
|
14
|
+
import { MatTabsModule as MatTabsModule$1 } from '@angular/material/tabs';
|
|
15
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
12
16
|
import { RouterModule, Router, ActivatedRoute, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
|
|
13
17
|
import { style, trigger, transition, animate } from '@angular/animations';
|
|
14
18
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
15
19
|
import { Memoize } from '@typescript-plus/fast-memoize-decorator';
|
|
16
20
|
import { isNil } from 'lodash';
|
|
17
21
|
import 'reflect-metadata';
|
|
18
|
-
import { Klass, Opts } from '@coolon/typescript-utilities';
|
|
19
22
|
import { Memoize as Memoize$1 } from '@typescript-plus/fast-memoize-decorator/dist/src';
|
|
20
23
|
|
|
21
24
|
/**
|
|
@@ -43,8 +46,6 @@ var DisposableComponent = /** @class */ (function (_super) {
|
|
|
43
46
|
* @fileoverview added by tsickle
|
|
44
47
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
45
48
|
*/
|
|
46
|
-
/** @type {?} */
|
|
47
|
-
var EMPTY_ERRORS = new MutableListModel().readonly;
|
|
48
49
|
/**
|
|
49
50
|
* @abstract
|
|
50
51
|
* @template T
|
|
@@ -53,9 +54,15 @@ var AbstractInputComponent = /** @class */ (function (_super) {
|
|
|
53
54
|
__extends(AbstractInputComponent, _super);
|
|
54
55
|
function AbstractInputComponent() {
|
|
55
56
|
var _this = _super.call(this) || this;
|
|
57
|
+
_this.valueModel = new DelegatingFormValueModel();
|
|
58
|
+
// TODO: fix this.
|
|
59
|
+
// tslint:disable-next-line:no-output-native
|
|
56
60
|
_this.focus = new EventEmitter();
|
|
61
|
+
// tslint:disable-next-line:no-output-native
|
|
57
62
|
_this.blur = new EventEmitter();
|
|
63
|
+
// tslint:disable-next-line:no-output-native
|
|
58
64
|
_this.enterKey = new EventEmitter();
|
|
65
|
+
// tslint:disable-next-line:no-output-native
|
|
59
66
|
_this.escapeKey = new EventEmitter();
|
|
60
67
|
/** @type {?} */
|
|
61
68
|
var self = _this;
|
|
@@ -71,6 +78,17 @@ var AbstractInputComponent = /** @class */ (function (_super) {
|
|
|
71
78
|
};
|
|
72
79
|
return _this;
|
|
73
80
|
}
|
|
81
|
+
Object.defineProperty(AbstractInputComponent.prototype, "userValueModel", {
|
|
82
|
+
set: /**
|
|
83
|
+
* @param {?} model
|
|
84
|
+
* @return {?}
|
|
85
|
+
*/
|
|
86
|
+
function (model) {
|
|
87
|
+
this.valueModel.setDelegate(model);
|
|
88
|
+
},
|
|
89
|
+
enumerable: true,
|
|
90
|
+
configurable: true
|
|
91
|
+
});
|
|
74
92
|
/**
|
|
75
93
|
* @return {?}
|
|
76
94
|
*/
|
|
@@ -131,7 +149,7 @@ var AbstractInputComponent = /** @class */ (function (_super) {
|
|
|
131
149
|
* @return {?}
|
|
132
150
|
*/
|
|
133
151
|
function (command) {
|
|
134
|
-
if (command && command.
|
|
152
|
+
if (command && command.enabled.value) {
|
|
135
153
|
command.execute();
|
|
136
154
|
}
|
|
137
155
|
};
|
|
@@ -142,7 +160,6 @@ var AbstractInputComponent = /** @class */ (function (_super) {
|
|
|
142
160
|
* @return {?}
|
|
143
161
|
*/
|
|
144
162
|
function () {
|
|
145
|
-
// this._focused = this.valueModel['focused'] || new ValueHolder();
|
|
146
163
|
};
|
|
147
164
|
/**
|
|
148
165
|
* @return {?}
|
|
@@ -158,8 +175,7 @@ var AbstractInputComponent = /** @class */ (function (_super) {
|
|
|
158
175
|
* @return {?}
|
|
159
176
|
*/
|
|
160
177
|
function () {
|
|
161
|
-
|
|
162
|
-
return ((/** @type {?} */ (this.valueModel))).enabled || Constant.TRUE;
|
|
178
|
+
return this.valueModel.enabled;
|
|
163
179
|
},
|
|
164
180
|
enumerable: true,
|
|
165
181
|
configurable: true
|
|
@@ -178,7 +194,7 @@ var AbstractInputComponent = /** @class */ (function (_super) {
|
|
|
178
194
|
* @return {?}
|
|
179
195
|
*/
|
|
180
196
|
function () {
|
|
181
|
-
return
|
|
197
|
+
return this.valueModel.errorList;
|
|
182
198
|
},
|
|
183
199
|
enumerable: true,
|
|
184
200
|
configurable: true
|
|
@@ -194,7 +210,7 @@ var AbstractInputComponent = /** @class */ (function (_super) {
|
|
|
194
210
|
configurable: true
|
|
195
211
|
});
|
|
196
212
|
AbstractInputComponent.propDecorators = {
|
|
197
|
-
|
|
213
|
+
userValueModel: [{ type: Input, args: ['valueModel',] }],
|
|
198
214
|
label: [{ type: Input }],
|
|
199
215
|
floatLabel: [{ type: Input }],
|
|
200
216
|
hint: [{ type: Input }],
|
|
@@ -214,8 +230,9 @@ var AbstractInputComponent = /** @class */ (function (_super) {
|
|
|
214
230
|
};
|
|
215
231
|
__decorate([
|
|
216
232
|
UseDelegate(),
|
|
217
|
-
__metadata("design:type",
|
|
218
|
-
|
|
233
|
+
__metadata("design:type", ValueModel),
|
|
234
|
+
__metadata("design:paramtypes", [ValueModel])
|
|
235
|
+
], AbstractInputComponent.prototype, "userValueModel", null);
|
|
219
236
|
return AbstractInputComponent;
|
|
220
237
|
}(DisposableComponent));
|
|
221
238
|
if (false) {
|
|
@@ -284,13 +301,35 @@ var NumberInputComponent = /** @class */ (function (_super) {
|
|
|
284
301
|
* @fileoverview added by tsickle
|
|
285
302
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
286
303
|
*/
|
|
304
|
+
/**
|
|
305
|
+
* @template P
|
|
306
|
+
*/
|
|
287
307
|
var CommandDirective = /** @class */ (function (_super) {
|
|
288
308
|
__extends(CommandDirective, _super);
|
|
289
309
|
function CommandDirective(elementRef) {
|
|
290
310
|
var _this = _super.call(this) || this;
|
|
291
311
|
_this.elementRef = elementRef;
|
|
312
|
+
_this._commandParameterProvided = false;
|
|
292
313
|
return _this;
|
|
293
314
|
}
|
|
315
|
+
Object.defineProperty(CommandDirective.prototype, "commandParameter", {
|
|
316
|
+
get: /**
|
|
317
|
+
* @return {?}
|
|
318
|
+
*/
|
|
319
|
+
function () {
|
|
320
|
+
return this._commandParameter;
|
|
321
|
+
},
|
|
322
|
+
set: /**
|
|
323
|
+
* @param {?} value
|
|
324
|
+
* @return {?}
|
|
325
|
+
*/
|
|
326
|
+
function (value) {
|
|
327
|
+
this._commandParameterProvided = true;
|
|
328
|
+
this._commandParameter = value;
|
|
329
|
+
},
|
|
330
|
+
enumerable: true,
|
|
331
|
+
configurable: true
|
|
332
|
+
});
|
|
294
333
|
/**
|
|
295
334
|
* @return {?}
|
|
296
335
|
*/
|
|
@@ -299,6 +338,16 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
299
338
|
*/
|
|
300
339
|
function () {
|
|
301
340
|
assert.notNil(this.pectinCommand);
|
|
341
|
+
if (this.pectinCommand instanceof UnaryCommand) {
|
|
342
|
+
if (!this._commandParameterProvided) {
|
|
343
|
+
lang.illegalState('UnaryCommands required the command parameter to be specified.');
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
if (this._commandParameterProvided) {
|
|
348
|
+
lang.illegalState('command parameters are only supported by UnaryCommands');
|
|
349
|
+
}
|
|
350
|
+
}
|
|
302
351
|
};
|
|
303
352
|
/**
|
|
304
353
|
* @return {?}
|
|
@@ -350,8 +399,13 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
350
399
|
function ($event) {
|
|
351
400
|
$event.preventDefault();
|
|
352
401
|
$event.stopPropagation();
|
|
353
|
-
if (this.pectinCommand.
|
|
354
|
-
this.pectinCommand
|
|
402
|
+
if (this.pectinCommand.enabled.value) {
|
|
403
|
+
if (this.pectinCommand instanceof UnaryCommand) {
|
|
404
|
+
this.pectinCommand.withContext({ event: $event }).execute(this.commandParameter);
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
this.pectinCommand.withContext({ event: $event }).execute();
|
|
408
|
+
}
|
|
355
409
|
}
|
|
356
410
|
else {
|
|
357
411
|
console.warn('disabled command clicked, ignoring.');
|
|
@@ -369,6 +423,7 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
369
423
|
]; };
|
|
370
424
|
CommandDirective.propDecorators = {
|
|
371
425
|
pectinCommand: [{ type: Input }],
|
|
426
|
+
commandParameter: [{ type: Input }],
|
|
372
427
|
notifyClick: [{ type: HostListener, args: ['click', ['$event'],] }]
|
|
373
428
|
};
|
|
374
429
|
return CommandDirective;
|
|
@@ -376,6 +431,16 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
376
431
|
if (false) {
|
|
377
432
|
/** @type {?} */
|
|
378
433
|
CommandDirective.prototype.pectinCommand;
|
|
434
|
+
/**
|
|
435
|
+
* @type {?}
|
|
436
|
+
* @private
|
|
437
|
+
*/
|
|
438
|
+
CommandDirective.prototype._commandParameter;
|
|
439
|
+
/**
|
|
440
|
+
* @type {?}
|
|
441
|
+
* @private
|
|
442
|
+
*/
|
|
443
|
+
CommandDirective.prototype._commandParameterProvided;
|
|
379
444
|
/**
|
|
380
445
|
* @type {?}
|
|
381
446
|
* @private
|
|
@@ -404,7 +469,9 @@ var FocusBindingDirective = /** @class */ (function (_super) {
|
|
|
404
469
|
* @return {?}
|
|
405
470
|
*/
|
|
406
471
|
function () {
|
|
407
|
-
this.
|
|
472
|
+
if (this.hasBinding()) {
|
|
473
|
+
this.pectinFocusBinding.focusContext.notifyFocusIn();
|
|
474
|
+
}
|
|
408
475
|
};
|
|
409
476
|
/**
|
|
410
477
|
* @return {?}
|
|
@@ -413,7 +480,9 @@ var FocusBindingDirective = /** @class */ (function (_super) {
|
|
|
413
480
|
* @return {?}
|
|
414
481
|
*/
|
|
415
482
|
function () {
|
|
416
|
-
this.
|
|
483
|
+
if (this.hasBinding()) {
|
|
484
|
+
this.pectinFocusBinding.focusContext.notifyFocusOut();
|
|
485
|
+
}
|
|
417
486
|
};
|
|
418
487
|
/**
|
|
419
488
|
* @return {?}
|
|
@@ -432,16 +501,32 @@ var FocusBindingDirective = /** @class */ (function (_super) {
|
|
|
432
501
|
function () {
|
|
433
502
|
var _this = this;
|
|
434
503
|
// TODO: Make this also track the current enabled/disabled state.
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
_this.
|
|
443
|
-
|
|
444
|
-
|
|
504
|
+
if (this.hasBinding()) {
|
|
505
|
+
var chain = Dsl.disposeWith(this).chain;
|
|
506
|
+
chain.value(this.pectinFocusBinding.focusContext.focused).subscribe((/**
|
|
507
|
+
* @param {?} focused
|
|
508
|
+
* @return {?}
|
|
509
|
+
*/
|
|
510
|
+
function (focused) {
|
|
511
|
+
if (focused && !_this.alreadyHasFocus()) {
|
|
512
|
+
_this.tryAndFocus();
|
|
513
|
+
}
|
|
514
|
+
}));
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
Logger.get(this).warn("pectinFocusBinding was nil");
|
|
518
|
+
}
|
|
519
|
+
};
|
|
520
|
+
/**
|
|
521
|
+
* @private
|
|
522
|
+
* @return {?}
|
|
523
|
+
*/
|
|
524
|
+
FocusBindingDirective.prototype.hasBinding = /**
|
|
525
|
+
* @private
|
|
526
|
+
* @return {?}
|
|
527
|
+
*/
|
|
528
|
+
function () {
|
|
529
|
+
return !!this.pectinFocusBinding && !!this.pectinFocusBinding.focusContext;
|
|
445
530
|
};
|
|
446
531
|
// Hook method for debugging via tracing.
|
|
447
532
|
// Hook method for debugging via tracing.
|
|
@@ -526,7 +611,7 @@ var FocusBindingDirective = /** @class */ (function (_super) {
|
|
|
526
611
|
* @return {?}
|
|
527
612
|
*/
|
|
528
613
|
function () {
|
|
529
|
-
return this.pectinFocusBinding.focused.value;
|
|
614
|
+
return this.hasBinding() && this.pectinFocusBinding.focusContext.focused.value;
|
|
530
615
|
};
|
|
531
616
|
// Hook method for debugging via tracing.
|
|
532
617
|
// Hook method for debugging via tracing.
|
|
@@ -1406,6 +1491,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
|
|
|
1406
1491
|
function DialogInteractionService(dialogService) {
|
|
1407
1492
|
var _this = _super.call(this) || this;
|
|
1408
1493
|
_this.dialogService = dialogService;
|
|
1494
|
+
assert$1.notNil(dialogService);
|
|
1409
1495
|
return _this;
|
|
1410
1496
|
}
|
|
1411
1497
|
/**
|
|
@@ -1577,7 +1663,7 @@ var BusyOverlayComponent = /** @class */ (function () {
|
|
|
1577
1663
|
};
|
|
1578
1664
|
BusyOverlayComponent.decorators = [
|
|
1579
1665
|
{ type: Component, args: [{
|
|
1580
|
-
selector: '
|
|
1666
|
+
selector: 'angular-ui-powerups-busy-overlay',
|
|
1581
1667
|
template: "<ng-content></ng-content>\n<div class=\"busy-overlay-backdrop\" *ngIf=\"busyModel.value\">\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"52\"></mat-progress-spinner>\n</div>\n",
|
|
1582
1668
|
styles: [":host{position:relative}div.busy-overlay-backdrop{position:absolute;background-color:rgba(0,0,0,.2);top:0;left:0;bottom:0;right:0;display:-ms-grid;display:grid;-ms-grid-columns:auto;grid-template-columns:auto;-ms-grid-rows:auto;grid-template-rows:auto;place-content:center}"]
|
|
1583
1669
|
}] }
|
|
@@ -1589,7 +1675,7 @@ var BusyOverlayComponent = /** @class */ (function () {
|
|
|
1589
1675
|
busy: [{ type: Input }]
|
|
1590
1676
|
};
|
|
1591
1677
|
__decorate([
|
|
1592
|
-
|
|
1678
|
+
UseDelegate(),
|
|
1593
1679
|
__metadata("design:type", ValueModel)
|
|
1594
1680
|
], BusyOverlayComponent.prototype, "busyModel", void 0);
|
|
1595
1681
|
__decorate([
|
|
@@ -1632,6 +1718,40 @@ var EmptyStateComponent = /** @class */ (function () {
|
|
|
1632
1718
|
return EmptyStateComponent;
|
|
1633
1719
|
}());
|
|
1634
1720
|
|
|
1721
|
+
/**
|
|
1722
|
+
* @fileoverview added by tsickle
|
|
1723
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1724
|
+
*/
|
|
1725
|
+
var NavComponent = /** @class */ (function () {
|
|
1726
|
+
function NavComponent() {
|
|
1727
|
+
}
|
|
1728
|
+
/**
|
|
1729
|
+
* @return {?}
|
|
1730
|
+
*/
|
|
1731
|
+
NavComponent.prototype.ngOnInit = /**
|
|
1732
|
+
* @return {?}
|
|
1733
|
+
*/
|
|
1734
|
+
function () {
|
|
1735
|
+
};
|
|
1736
|
+
NavComponent.decorators = [
|
|
1737
|
+
{ type: Component, args: [{
|
|
1738
|
+
selector: 'angular-ui-powerups-nav',
|
|
1739
|
+
template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let place of places\" [routerLink]='place.path'\n routerLinkActive #rla=\"routerLinkActive\"\n [active]=\"rla.isActive\"\n [matTooltip]=\"place.title\">{{place.title}}</a>\n</nav>\n\n",
|
|
1740
|
+
styles: [""]
|
|
1741
|
+
}] }
|
|
1742
|
+
];
|
|
1743
|
+
/** @nocollapse */
|
|
1744
|
+
NavComponent.ctorParameters = function () { return []; };
|
|
1745
|
+
NavComponent.propDecorators = {
|
|
1746
|
+
places: [{ type: Input }]
|
|
1747
|
+
};
|
|
1748
|
+
return NavComponent;
|
|
1749
|
+
}());
|
|
1750
|
+
if (false) {
|
|
1751
|
+
/** @type {?} */
|
|
1752
|
+
NavComponent.prototype.places;
|
|
1753
|
+
}
|
|
1754
|
+
|
|
1635
1755
|
/**
|
|
1636
1756
|
* @fileoverview added by tsickle
|
|
1637
1757
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -1772,19 +1892,25 @@ var PlaceModule = /** @class */ (function () {
|
|
|
1772
1892
|
{ type: NgModule, args: [{
|
|
1773
1893
|
imports: [
|
|
1774
1894
|
CommonModule,
|
|
1895
|
+
BrowserAnimationsModule,
|
|
1775
1896
|
MatProgressSpinnerModule,
|
|
1776
|
-
RouterModule
|
|
1897
|
+
RouterModule,
|
|
1898
|
+
MatTabsModule$1,
|
|
1899
|
+
MatListModule,
|
|
1900
|
+
MatTooltipModule
|
|
1777
1901
|
],
|
|
1778
1902
|
declarations: [
|
|
1779
1903
|
EmptyStateComponent,
|
|
1780
1904
|
BusyOverlayComponent,
|
|
1781
|
-
PlaceOutletComponent
|
|
1905
|
+
PlaceOutletComponent,
|
|
1906
|
+
NavComponent
|
|
1782
1907
|
],
|
|
1783
1908
|
entryComponents: [BusyOverlayComponent],
|
|
1784
1909
|
exports: [
|
|
1785
1910
|
BusyOverlayComponent,
|
|
1786
1911
|
PlaceOutletComponent,
|
|
1787
|
-
EmptyStateComponent
|
|
1912
|
+
EmptyStateComponent,
|
|
1913
|
+
NavComponent
|
|
1788
1914
|
],
|
|
1789
1915
|
providers: [
|
|
1790
1916
|
PlaceService
|
|
@@ -1854,6 +1980,7 @@ var defaultHiddenStyleDef = style({
|
|
|
1854
1980
|
* @return {?}
|
|
1855
1981
|
*/
|
|
1856
1982
|
function slideDownAndUpAnimation(triggerName, options) {
|
|
1983
|
+
// SEE to fix this: https://github.com/angular/angular/issues/15587#issuecomment-351510501
|
|
1857
1984
|
/** @type {?} */
|
|
1858
1985
|
var duration = OptionsHelper.get(options).getOptional('duration', '100ms');
|
|
1859
1986
|
/** @type {?} */
|
|
@@ -2275,7 +2402,7 @@ function Place(options) {
|
|
|
2275
2402
|
function ResolvedParameter() { }
|
|
2276
2403
|
if (false) {
|
|
2277
2404
|
/** @type {?} */
|
|
2278
|
-
ResolvedParameter.prototype.
|
|
2405
|
+
ResolvedParameter.prototype.parameterDef;
|
|
2279
2406
|
/** @type {?} */
|
|
2280
2407
|
ResolvedParameter.prototype.resolvedValue;
|
|
2281
2408
|
}
|
|
@@ -2299,7 +2426,7 @@ var ResolvedParameters = /** @class */ (function () {
|
|
|
2299
2426
|
* @param {?} p
|
|
2300
2427
|
* @return {?}
|
|
2301
2428
|
*/
|
|
2302
|
-
function (p) { return p.
|
|
2429
|
+
function (p) { return p.parameterDef === parameter; }));
|
|
2303
2430
|
return resolved ? resolved.resolvedValue : null;
|
|
2304
2431
|
};
|
|
2305
2432
|
/**
|
|
@@ -2319,8 +2446,8 @@ var ResolvedParameters = /** @class */ (function () {
|
|
|
2319
2446
|
* @param {?} p
|
|
2320
2447
|
* @return {?}
|
|
2321
2448
|
*/
|
|
2322
|
-
function (p) { return p.
|
|
2323
|
-
|
|
2449
|
+
function (p) { return p.parameterDef !== parameter; })).concat({
|
|
2450
|
+
parameterDef: parameter,
|
|
2324
2451
|
resolvedValue: value
|
|
2325
2452
|
}));
|
|
2326
2453
|
};
|
|
@@ -2335,7 +2462,7 @@ var ResolvedParameters = /** @class */ (function () {
|
|
|
2335
2462
|
function () {
|
|
2336
2463
|
/** @type {?} */
|
|
2337
2464
|
var routeIdParam = this.getRouteIdParam();
|
|
2338
|
-
return routeIdParam ? routeIdParam.
|
|
2465
|
+
return routeIdParam ? routeIdParam.parameterDef.type.format(routeIdParam.resolvedValue) : null;
|
|
2339
2466
|
};
|
|
2340
2467
|
/**
|
|
2341
2468
|
* @private
|
|
@@ -2350,7 +2477,7 @@ var ResolvedParameters = /** @class */ (function () {
|
|
|
2350
2477
|
* @param {?} p
|
|
2351
2478
|
* @return {?}
|
|
2352
2479
|
*/
|
|
2353
|
-
function (p) { return p.
|
|
2480
|
+
function (p) { return p.parameterDef.isRouteId; }));
|
|
2354
2481
|
};
|
|
2355
2482
|
/**
|
|
2356
2483
|
* @protected
|
|
@@ -2368,12 +2495,12 @@ var ResolvedParameters = /** @class */ (function () {
|
|
|
2368
2495
|
* @param {?} p
|
|
2369
2496
|
* @return {?}
|
|
2370
2497
|
*/
|
|
2371
|
-
function (p) { return !p.
|
|
2498
|
+
function (p) { return !p.parameterDef.isRouteId; })).forEach((/**
|
|
2372
2499
|
* @param {?} p
|
|
2373
2500
|
* @return {?}
|
|
2374
2501
|
*/
|
|
2375
2502
|
function (p) {
|
|
2376
|
-
params[p.
|
|
2503
|
+
params[p.parameterDef.name] = p.parameterDef.type.format(p.resolvedValue);
|
|
2377
2504
|
}));
|
|
2378
2505
|
return params;
|
|
2379
2506
|
};
|
|
@@ -2406,7 +2533,7 @@ var ResolvedParameters = /** @class */ (function () {
|
|
|
2406
2533
|
/** @type {?} */
|
|
2407
2534
|
var path = routeId ? [relativePath, routeId, this.getFormattedParameters()] : [relativePath, this.getFormattedParameters()];
|
|
2408
2535
|
router.navigate(path, {
|
|
2409
|
-
relativeTo: activatedRoute
|
|
2536
|
+
relativeTo: activatedRoute
|
|
2410
2537
|
});
|
|
2411
2538
|
};
|
|
2412
2539
|
__decorate([
|
|
@@ -2463,11 +2590,23 @@ var RouteParameterBindings = /** @class */ (function (_super) {
|
|
|
2463
2590
|
/** @type {?} */
|
|
2464
2591
|
var result = [];
|
|
2465
2592
|
routeParameterDefs.forEach((/**
|
|
2466
|
-
* @param {?}
|
|
2593
|
+
* @param {?} parameterDef
|
|
2467
2594
|
* @return {?}
|
|
2468
2595
|
*/
|
|
2469
|
-
function (
|
|
2470
|
-
|
|
2596
|
+
function (parameterDef) {
|
|
2597
|
+
/** @type {?} */
|
|
2598
|
+
var resolvedValue;
|
|
2599
|
+
if (parameterDef.isArray) {
|
|
2600
|
+
resolvedValue = params.getAll(parameterDef.name).map((/**
|
|
2601
|
+
* @param {?} v
|
|
2602
|
+
* @return {?}
|
|
2603
|
+
*/
|
|
2604
|
+
function (v) { return parameterDef.type.parse(v); }));
|
|
2605
|
+
}
|
|
2606
|
+
else {
|
|
2607
|
+
resolvedValue = parameterDef.type.parse(params.get(parameterDef.name));
|
|
2608
|
+
}
|
|
2609
|
+
result.push({ parameterDef: parameterDef, resolvedValue: resolvedValue });
|
|
2471
2610
|
}));
|
|
2472
2611
|
return new ResolvedParameters(result);
|
|
2473
2612
|
}));
|
|
@@ -2718,41 +2857,162 @@ if (false) {
|
|
|
2718
2857
|
* @fileoverview added by tsickle
|
|
2719
2858
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
2720
2859
|
*/
|
|
2860
|
+
/**
|
|
2861
|
+
* @abstract
|
|
2862
|
+
* @template T, S
|
|
2863
|
+
*/
|
|
2864
|
+
var /**
|
|
2865
|
+
* @abstract
|
|
2866
|
+
* @template T, S
|
|
2867
|
+
*/
|
|
2868
|
+
Sanitiser = /** @class */ (function () {
|
|
2869
|
+
function Sanitiser(parameterDef, snapshot, sanitiser) {
|
|
2870
|
+
this.parameterDef = parameterDef;
|
|
2871
|
+
this.snapshot = snapshot;
|
|
2872
|
+
this.sanitiser = sanitiser;
|
|
2873
|
+
}
|
|
2874
|
+
/**
|
|
2875
|
+
* @return {?}
|
|
2876
|
+
*/
|
|
2877
|
+
Sanitiser.prototype.isRouteId = /**
|
|
2878
|
+
* @return {?}
|
|
2879
|
+
*/
|
|
2880
|
+
function () {
|
|
2881
|
+
return this.parameterDef.isRouteId;
|
|
2882
|
+
};
|
|
2883
|
+
Object.defineProperty(Sanitiser.prototype, "valueChanged", {
|
|
2884
|
+
get: /**
|
|
2885
|
+
* @return {?}
|
|
2886
|
+
*/
|
|
2887
|
+
function () {
|
|
2888
|
+
return !isNil(this.initialValue) && this.hasChanged(this.initialValue, this.sanitisedValue);
|
|
2889
|
+
},
|
|
2890
|
+
enumerable: true,
|
|
2891
|
+
configurable: true
|
|
2892
|
+
});
|
|
2893
|
+
Object.defineProperty(Sanitiser.prototype, "sanitisedValue", {
|
|
2894
|
+
get: /**
|
|
2895
|
+
* @return {?}
|
|
2896
|
+
*/
|
|
2897
|
+
function () {
|
|
2898
|
+
return this._sanitisedValue;
|
|
2899
|
+
},
|
|
2900
|
+
enumerable: true,
|
|
2901
|
+
configurable: true
|
|
2902
|
+
});
|
|
2903
|
+
/**
|
|
2904
|
+
* @return {?}
|
|
2905
|
+
*/
|
|
2906
|
+
Sanitiser.prototype.sanitize = /**
|
|
2907
|
+
* @return {?}
|
|
2908
|
+
*/
|
|
2909
|
+
function () {
|
|
2910
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2911
|
+
var _a;
|
|
2912
|
+
return __generator(this, function (_b) {
|
|
2913
|
+
switch (_b.label) {
|
|
2914
|
+
case 0:
|
|
2915
|
+
if (!this.sanitiser) return [3 /*break*/, 2];
|
|
2916
|
+
this.initialValue = this.readFrom(this.snapshot);
|
|
2917
|
+
_a = this;
|
|
2918
|
+
return [4 /*yield*/, this.sanitiser.sanitise(this.initialValue)];
|
|
2919
|
+
case 1:
|
|
2920
|
+
_a._sanitisedValue = _b.sent();
|
|
2921
|
+
if (this.initialValue !== this._sanitisedValue) {
|
|
2922
|
+
return [2 /*return*/, false];
|
|
2923
|
+
}
|
|
2924
|
+
_b.label = 2;
|
|
2925
|
+
case 2: return [2 /*return*/, true];
|
|
2926
|
+
}
|
|
2927
|
+
});
|
|
2928
|
+
});
|
|
2929
|
+
};
|
|
2930
|
+
return Sanitiser;
|
|
2931
|
+
}());
|
|
2932
|
+
if (false) {
|
|
2933
|
+
/**
|
|
2934
|
+
* @type {?}
|
|
2935
|
+
* @private
|
|
2936
|
+
*/
|
|
2937
|
+
Sanitiser.prototype.initialValue;
|
|
2938
|
+
/**
|
|
2939
|
+
* @type {?}
|
|
2940
|
+
* @private
|
|
2941
|
+
*/
|
|
2942
|
+
Sanitiser.prototype._sanitisedValue;
|
|
2943
|
+
/** @type {?} */
|
|
2944
|
+
Sanitiser.prototype.parameterDef;
|
|
2945
|
+
/** @type {?} */
|
|
2946
|
+
Sanitiser.prototype.snapshot;
|
|
2947
|
+
/** @type {?} */
|
|
2948
|
+
Sanitiser.prototype.sanitiser;
|
|
2949
|
+
/**
|
|
2950
|
+
* @abstract
|
|
2951
|
+
* @protected
|
|
2952
|
+
* @param {?} snapshot
|
|
2953
|
+
* @return {?}
|
|
2954
|
+
*/
|
|
2955
|
+
Sanitiser.prototype.readFrom = function (snapshot) { };
|
|
2956
|
+
/**
|
|
2957
|
+
* @abstract
|
|
2958
|
+
* @protected
|
|
2959
|
+
* @param {?} initialValue
|
|
2960
|
+
* @param {?} sanitisedValue
|
|
2961
|
+
* @return {?}
|
|
2962
|
+
*/
|
|
2963
|
+
Sanitiser.prototype.hasChanged = function (initialValue, sanitisedValue) { };
|
|
2964
|
+
/**
|
|
2965
|
+
* @abstract
|
|
2966
|
+
* @param {?} dest
|
|
2967
|
+
* @return {?}
|
|
2968
|
+
*/
|
|
2969
|
+
Sanitiser.prototype.injectRouteParam = function (dest) { };
|
|
2970
|
+
}
|
|
2721
2971
|
var RouteParameterSanitiser = /** @class */ (function () {
|
|
2722
|
-
function RouteParameterSanitiser(parameterDefs, injector) {
|
|
2972
|
+
function RouteParameterSanitiser(parameterDefs, snapshot, injector) {
|
|
2973
|
+
var _this = this;
|
|
2723
2974
|
this.parameterDefs = parameterDefs;
|
|
2975
|
+
this.snapshot = snapshot;
|
|
2724
2976
|
this.injector = injector;
|
|
2725
|
-
this.
|
|
2726
|
-
|
|
2977
|
+
this.parameterSanitisers = [];
|
|
2978
|
+
/** @type {?} */
|
|
2979
|
+
var sanitisers = parameterDefs.map((/**
|
|
2980
|
+
* @param {?} def
|
|
2981
|
+
* @return {?}
|
|
2982
|
+
*/
|
|
2983
|
+
function (def) {
|
|
2984
|
+
return def.isArray ?
|
|
2985
|
+
new Sanitiser.Array(def, snapshot, _this.getSanitiser(def)) :
|
|
2986
|
+
new Sanitiser.Value(def, snapshot, _this.getSanitiser(def));
|
|
2987
|
+
}));
|
|
2988
|
+
this.routeIdSanitiser = sanitisers.find((/**
|
|
2727
2989
|
* @param {?} p
|
|
2728
2990
|
* @return {?}
|
|
2729
2991
|
*/
|
|
2730
|
-
function (p) { return p.isRouteId; }));
|
|
2731
|
-
this.
|
|
2992
|
+
function (p) { return p.isRouteId(); }));
|
|
2993
|
+
this.parameterSanitisers = sanitisers.filter((/**
|
|
2732
2994
|
* @param {?} p
|
|
2733
2995
|
* @return {?}
|
|
2734
2996
|
*/
|
|
2735
|
-
function (p) { return !p.isRouteId; }));
|
|
2997
|
+
function (p) { return !p.isRouteId(); }));
|
|
2736
2998
|
}
|
|
2737
2999
|
/**
|
|
2738
|
-
* @param {?} snapshot
|
|
2739
3000
|
* @return {?}
|
|
2740
3001
|
*/
|
|
2741
3002
|
RouteParameterSanitiser.prototype.sanitise = /**
|
|
2742
|
-
* @param {?} snapshot
|
|
2743
3003
|
* @return {?}
|
|
2744
3004
|
*/
|
|
2745
|
-
function (
|
|
3005
|
+
function () {
|
|
2746
3006
|
return __awaiter(this, void 0, void 0, function () {
|
|
2747
|
-
var e_1, _a,
|
|
3007
|
+
var e_1, _a, _b, _c, sanitiser, e_1_1;
|
|
2748
3008
|
return __generator(this, function (_d) {
|
|
2749
3009
|
switch (_d.label) {
|
|
2750
3010
|
case 0:
|
|
2751
|
-
if (!this.
|
|
2752
|
-
return [4 /*yield*/, this.
|
|
3011
|
+
if (!this.routeIdSanitiser) return [3 /*break*/, 2];
|
|
3012
|
+
return [4 /*yield*/, this.routeIdSanitiser.sanitize()];
|
|
2753
3013
|
case 1:
|
|
2754
|
-
|
|
2755
|
-
if (
|
|
3014
|
+
_d.sent();
|
|
3015
|
+
if (this.routeIdSanitiser.valueChanged) {
|
|
2756
3016
|
// if the route id isn't ok we redirect immediately as the query params may need to be sanitised in the
|
|
2757
3017
|
// context of the route id.
|
|
2758
3018
|
return [2 /*return*/, false];
|
|
@@ -2760,12 +3020,12 @@ var RouteParameterSanitiser = /** @class */ (function () {
|
|
|
2760
3020
|
_d.label = 2;
|
|
2761
3021
|
case 2:
|
|
2762
3022
|
_d.trys.push([2, 7, 8, 9]);
|
|
2763
|
-
_b = __values(this.
|
|
3023
|
+
_b = __values(this.parameterSanitisers), _c = _b.next();
|
|
2764
3024
|
_d.label = 3;
|
|
2765
3025
|
case 3:
|
|
2766
3026
|
if (!!_c.done) return [3 /*break*/, 6];
|
|
2767
|
-
|
|
2768
|
-
return [4 /*yield*/,
|
|
3027
|
+
sanitiser = _c.value;
|
|
3028
|
+
return [4 /*yield*/, sanitiser.sanitize()];
|
|
2769
3029
|
case 4:
|
|
2770
3030
|
_d.sent();
|
|
2771
3031
|
_d.label = 5;
|
|
@@ -2783,42 +3043,11 @@ var RouteParameterSanitiser = /** @class */ (function () {
|
|
|
2783
3043
|
}
|
|
2784
3044
|
finally { if (e_1) throw e_1.error; }
|
|
2785
3045
|
return [7 /*endfinally*/];
|
|
2786
|
-
case 9: return [2 /*return*/, this.
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
/**
|
|
2792
|
-
* @template T
|
|
2793
|
-
* @param {?} def
|
|
2794
|
-
* @param {?} formattedInitialValue
|
|
2795
|
-
* @return {?}
|
|
2796
|
-
*/
|
|
2797
|
-
RouteParameterSanitiser.prototype.sanitiseParameter = /**
|
|
2798
|
-
* @template T
|
|
2799
|
-
* @param {?} def
|
|
2800
|
-
* @param {?} formattedInitialValue
|
|
2801
|
-
* @return {?}
|
|
2802
|
-
*/
|
|
2803
|
-
function (def, formattedInitialValue) {
|
|
2804
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2805
|
-
var sanitiser, initialValue, sanitisedValue;
|
|
2806
|
-
return __generator(this, function (_a) {
|
|
2807
|
-
switch (_a.label) {
|
|
2808
|
-
case 0:
|
|
2809
|
-
if (!def) return [3 /*break*/, 2];
|
|
2810
|
-
sanitiser = this.getSanitiser(def);
|
|
2811
|
-
if (!sanitiser) return [3 /*break*/, 2];
|
|
2812
|
-
initialValue = def.type.parse(formattedInitialValue);
|
|
2813
|
-
return [4 /*yield*/, sanitiser.sanitise(initialValue)];
|
|
2814
|
-
case 1:
|
|
2815
|
-
sanitisedValue = _a.sent();
|
|
2816
|
-
if (initialValue !== sanitisedValue) {
|
|
2817
|
-
this.sanitisedParameters.push({ def: def, value: def.type.format(sanitisedValue) });
|
|
2818
|
-
return [2 /*return*/, false];
|
|
2819
|
-
}
|
|
2820
|
-
_a.label = 2;
|
|
2821
|
-
case 2: return [2 /*return*/, true];
|
|
3046
|
+
case 9: return [2 /*return*/, !this.parameterSanitisers.find((/**
|
|
3047
|
+
* @param {?} s
|
|
3048
|
+
* @return {?}
|
|
3049
|
+
*/
|
|
3050
|
+
function (s) { return s.valueChanged; }))];
|
|
2822
3051
|
}
|
|
2823
3052
|
});
|
|
2824
3053
|
});
|
|
@@ -2832,57 +3061,36 @@ var RouteParameterSanitiser = /** @class */ (function () {
|
|
|
2832
3061
|
* @return {?}
|
|
2833
3062
|
*/
|
|
2834
3063
|
function (router) {
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
var sanitisedRouteId = this.sanitisedParameters.find((/**
|
|
2839
|
-
* @param {?} s
|
|
2840
|
-
* @return {?}
|
|
2841
|
-
*/
|
|
2842
|
-
function (s) { return s.def === _this.routeParameter; }));
|
|
2843
|
-
if (sanitisedRouteId) {
|
|
2844
|
-
return router.navigate(['..', sanitisedRouteId.value]);
|
|
3064
|
+
assert.isTruthy(this.parameterSanitisers.length !== 0);
|
|
3065
|
+
if (this.routeIdSanitiser.valueChanged) {
|
|
3066
|
+
return router.navigate(['..', this.routeIdSanitiser.sanitisedValue]);
|
|
2845
3067
|
}
|
|
2846
3068
|
else {
|
|
2847
3069
|
/** @type {?} */
|
|
2848
|
-
var
|
|
3070
|
+
var routeParams_1 = {};
|
|
3071
|
+
this.parameterSanitisers.forEach((/**
|
|
2849
3072
|
* @param {?} s
|
|
2850
3073
|
* @return {?}
|
|
2851
3074
|
*/
|
|
2852
|
-
function (s) { return s.
|
|
2853
|
-
|
|
2854
|
-
* @param {?} params
|
|
2855
|
-
* @param {?} item
|
|
2856
|
-
* @return {?}
|
|
2857
|
-
*/
|
|
2858
|
-
function (params, item) {
|
|
2859
|
-
var _a;
|
|
2860
|
-
return (__assign({}, params, (_a = {}, _a[item.def.name] = item.value, _a)));
|
|
2861
|
-
}), {});
|
|
2862
|
-
return router.navigate(['.', queryParams]);
|
|
3075
|
+
function (s) { return s.injectRouteParam(routeParams_1); }));
|
|
3076
|
+
return router.navigate(['.', routeParams_1]);
|
|
2863
3077
|
}
|
|
2864
3078
|
};
|
|
2865
3079
|
/**
|
|
2866
3080
|
* @private
|
|
2867
|
-
* @template T
|
|
3081
|
+
* @template T, S
|
|
2868
3082
|
* @param {?} def
|
|
2869
3083
|
* @return {?}
|
|
2870
3084
|
*/
|
|
2871
3085
|
RouteParameterSanitiser.prototype.getSanitiser = /**
|
|
2872
3086
|
* @private
|
|
2873
|
-
* @template T
|
|
3087
|
+
* @template T, S
|
|
2874
3088
|
* @param {?} def
|
|
2875
3089
|
* @return {?}
|
|
2876
3090
|
*/
|
|
2877
3091
|
function (def) {
|
|
2878
3092
|
return def.sanitiser ? this.injector.get(def.sanitiser, new def.sanitiser()) : null;
|
|
2879
3093
|
};
|
|
2880
|
-
__decorate([
|
|
2881
|
-
Trace(),
|
|
2882
|
-
__metadata("design:type", Function),
|
|
2883
|
-
__metadata("design:paramtypes", [Object, String]),
|
|
2884
|
-
__metadata("design:returntype", Promise)
|
|
2885
|
-
], RouteParameterSanitiser.prototype, "sanitiseParameter", null);
|
|
2886
3094
|
__decorate([
|
|
2887
3095
|
Memoize$1(),
|
|
2888
3096
|
__metadata("design:type", Function),
|
|
@@ -2896,22 +3104,139 @@ if (false) {
|
|
|
2896
3104
|
* @type {?}
|
|
2897
3105
|
* @private
|
|
2898
3106
|
*/
|
|
2899
|
-
RouteParameterSanitiser.prototype.
|
|
2900
|
-
/**
|
|
2901
|
-
* @type {?}
|
|
2902
|
-
* @private
|
|
2903
|
-
*/
|
|
2904
|
-
RouteParameterSanitiser.prototype.queryParameters;
|
|
3107
|
+
RouteParameterSanitiser.prototype.routeIdSanitiser;
|
|
2905
3108
|
/**
|
|
2906
3109
|
* @type {?}
|
|
2907
3110
|
* @private
|
|
2908
3111
|
*/
|
|
2909
|
-
RouteParameterSanitiser.prototype.
|
|
3112
|
+
RouteParameterSanitiser.prototype.parameterSanitisers;
|
|
2910
3113
|
/** @type {?} */
|
|
2911
3114
|
RouteParameterSanitiser.prototype.parameterDefs;
|
|
2912
3115
|
/** @type {?} */
|
|
3116
|
+
RouteParameterSanitiser.prototype.snapshot;
|
|
3117
|
+
/** @type {?} */
|
|
2913
3118
|
RouteParameterSanitiser.prototype.injector;
|
|
2914
3119
|
}
|
|
3120
|
+
(function (Sanitiser) {
|
|
3121
|
+
/**
|
|
3122
|
+
* @template T
|
|
3123
|
+
*/
|
|
3124
|
+
var /**
|
|
3125
|
+
* @template T
|
|
3126
|
+
*/
|
|
3127
|
+
Value = /** @class */ (function (_super) {
|
|
3128
|
+
__extends(Value, _super);
|
|
3129
|
+
function Value() {
|
|
3130
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
3131
|
+
}
|
|
3132
|
+
/**
|
|
3133
|
+
* @param {?} snapshot
|
|
3134
|
+
* @return {?}
|
|
3135
|
+
*/
|
|
3136
|
+
Value.prototype.readFrom = /**
|
|
3137
|
+
* @param {?} snapshot
|
|
3138
|
+
* @return {?}
|
|
3139
|
+
*/
|
|
3140
|
+
function (snapshot) {
|
|
3141
|
+
/** @type {?} */
|
|
3142
|
+
var rawValue = this.parameterDef.isRouteId ?
|
|
3143
|
+
snapshot.paramMap.get(this.parameterDef.name) :
|
|
3144
|
+
snapshot.queryParamMap.get(this.parameterDef.name);
|
|
3145
|
+
return this.parameterDef.type.parse(rawValue);
|
|
3146
|
+
};
|
|
3147
|
+
/**
|
|
3148
|
+
* @protected
|
|
3149
|
+
* @param {?} initialValue
|
|
3150
|
+
* @param {?} sanitisedValue
|
|
3151
|
+
* @return {?}
|
|
3152
|
+
*/
|
|
3153
|
+
Value.prototype.hasChanged = /**
|
|
3154
|
+
* @protected
|
|
3155
|
+
* @param {?} initialValue
|
|
3156
|
+
* @param {?} sanitisedValue
|
|
3157
|
+
* @return {?}
|
|
3158
|
+
*/
|
|
3159
|
+
function (initialValue, sanitisedValue) {
|
|
3160
|
+
return initialValue !== sanitisedValue;
|
|
3161
|
+
};
|
|
3162
|
+
/**
|
|
3163
|
+
* @param {?} dest
|
|
3164
|
+
* @return {?}
|
|
3165
|
+
*/
|
|
3166
|
+
Value.prototype.injectRouteParam = /**
|
|
3167
|
+
* @param {?} dest
|
|
3168
|
+
* @return {?}
|
|
3169
|
+
*/
|
|
3170
|
+
function (dest) {
|
|
3171
|
+
dest[this.parameterDef.name] = this.parameterDef.type.format(this.sanitisedValue);
|
|
3172
|
+
};
|
|
3173
|
+
return Value;
|
|
3174
|
+
}(Sanitiser));
|
|
3175
|
+
Sanitiser.Value = Value;
|
|
3176
|
+
/**
|
|
3177
|
+
* @template T
|
|
3178
|
+
*/
|
|
3179
|
+
var /**
|
|
3180
|
+
* @template T
|
|
3181
|
+
*/
|
|
3182
|
+
Array = /** @class */ (function (_super) {
|
|
3183
|
+
__extends(Array, _super);
|
|
3184
|
+
function Array() {
|
|
3185
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
3186
|
+
}
|
|
3187
|
+
/**
|
|
3188
|
+
* @param {?} snapshot
|
|
3189
|
+
* @return {?}
|
|
3190
|
+
*/
|
|
3191
|
+
Array.prototype.readFrom = /**
|
|
3192
|
+
* @param {?} snapshot
|
|
3193
|
+
* @return {?}
|
|
3194
|
+
*/
|
|
3195
|
+
function (snapshot) {
|
|
3196
|
+
var _this = this;
|
|
3197
|
+
/** @type {?} */
|
|
3198
|
+
var rawValues = snapshot.queryParamMap.getAll(this.parameterDef.name);
|
|
3199
|
+
return rawValues.map((/**
|
|
3200
|
+
* @param {?} value
|
|
3201
|
+
* @return {?}
|
|
3202
|
+
*/
|
|
3203
|
+
function (value) { return _this.parameterDef.type.parse(value); }));
|
|
3204
|
+
};
|
|
3205
|
+
/**
|
|
3206
|
+
* @protected
|
|
3207
|
+
* @param {?} initialValue
|
|
3208
|
+
* @param {?} sanitisedValue
|
|
3209
|
+
* @return {?}
|
|
3210
|
+
*/
|
|
3211
|
+
Array.prototype.hasChanged = /**
|
|
3212
|
+
* @protected
|
|
3213
|
+
* @param {?} initialValue
|
|
3214
|
+
* @param {?} sanitisedValue
|
|
3215
|
+
* @return {?}
|
|
3216
|
+
*/
|
|
3217
|
+
function (initialValue, sanitisedValue) {
|
|
3218
|
+
return initialValue !== sanitisedValue;
|
|
3219
|
+
};
|
|
3220
|
+
/**
|
|
3221
|
+
* @param {?} dest
|
|
3222
|
+
* @return {?}
|
|
3223
|
+
*/
|
|
3224
|
+
Array.prototype.injectRouteParam = /**
|
|
3225
|
+
* @param {?} dest
|
|
3226
|
+
* @return {?}
|
|
3227
|
+
*/
|
|
3228
|
+
function (dest) {
|
|
3229
|
+
var _this = this;
|
|
3230
|
+
dest[this.parameterDef.name] = this.sanitisedValue.map((/**
|
|
3231
|
+
* @param {?} v
|
|
3232
|
+
* @return {?}
|
|
3233
|
+
*/
|
|
3234
|
+
function (v) { return _this.parameterDef.type.format(v); }));
|
|
3235
|
+
};
|
|
3236
|
+
return Array;
|
|
3237
|
+
}(Sanitiser));
|
|
3238
|
+
Sanitiser.Array = Array;
|
|
3239
|
+
})(Sanitiser || (Sanitiser = {}));
|
|
2915
3240
|
|
|
2916
3241
|
/**
|
|
2917
3242
|
* @fileoverview added by tsickle
|
|
@@ -2937,8 +3262,8 @@ var PlaceRouteGuard = /** @class */ (function () {
|
|
|
2937
3262
|
/** @type {?} */
|
|
2938
3263
|
var routeParameters = Klass.get(route.component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);
|
|
2939
3264
|
/** @type {?} */
|
|
2940
|
-
var sanitiser = new RouteParameterSanitiser(routeParameters, this.injector);
|
|
2941
|
-
return sanitiser.sanitise(
|
|
3265
|
+
var sanitiser = new RouteParameterSanitiser(routeParameters, route, this.injector);
|
|
3266
|
+
return sanitiser.sanitise().then((/**
|
|
2942
3267
|
* @param {?} proceed
|
|
2943
3268
|
* @return {?}
|
|
2944
3269
|
*/
|
|
@@ -3009,6 +3334,17 @@ if (false) {
|
|
|
3009
3334
|
/** @type {?|undefined} */
|
|
3010
3335
|
ParameterOptions.prototype.sanitiser;
|
|
3011
3336
|
}
|
|
3337
|
+
/**
|
|
3338
|
+
* @record
|
|
3339
|
+
* @template T
|
|
3340
|
+
*/
|
|
3341
|
+
function ListParameterOptions() { }
|
|
3342
|
+
if (false) {
|
|
3343
|
+
/** @type {?|undefined} */
|
|
3344
|
+
ListParameterOptions.prototype.as;
|
|
3345
|
+
/** @type {?|undefined} */
|
|
3346
|
+
ListParameterOptions.prototype.listSanitiser;
|
|
3347
|
+
}
|
|
3012
3348
|
/**
|
|
3013
3349
|
* @template T
|
|
3014
3350
|
* @param {?} type
|
|
@@ -3030,12 +3366,32 @@ function RouteId(type, options) {
|
|
|
3030
3366
|
});
|
|
3031
3367
|
}
|
|
3032
3368
|
/**
|
|
3369
|
+
* @deprecated use RouteParameter instead.
|
|
3033
3370
|
* @template T
|
|
3034
3371
|
* @param {?} type
|
|
3035
3372
|
* @param {?=} options
|
|
3036
3373
|
* @return {?}
|
|
3037
3374
|
*/
|
|
3038
3375
|
function QueryParameter(type, options) {
|
|
3376
|
+
return (/**
|
|
3377
|
+
* @param {?} prototype
|
|
3378
|
+
* @param {?} propertyKey
|
|
3379
|
+
* @return {?}
|
|
3380
|
+
*/
|
|
3381
|
+
function (prototype, propertyKey) {
|
|
3382
|
+
/** @type {?} */
|
|
3383
|
+
var param = createDefinition(propertyKey, type, options, false);
|
|
3384
|
+
Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
|
|
3385
|
+
UseDelegate()(prototype, propertyKey);
|
|
3386
|
+
});
|
|
3387
|
+
}
|
|
3388
|
+
/**
|
|
3389
|
+
* @template T
|
|
3390
|
+
* @param {?} type
|
|
3391
|
+
* @param {?=} options
|
|
3392
|
+
* @return {?}
|
|
3393
|
+
*/
|
|
3394
|
+
function RouteParameter(type, options) {
|
|
3039
3395
|
// assert.isTruthy(type.isValid());
|
|
3040
3396
|
return (/**
|
|
3041
3397
|
* @param {?} prototype
|
|
@@ -3049,6 +3405,47 @@ function QueryParameter(type, options) {
|
|
|
3049
3405
|
UseDelegate()(prototype, propertyKey);
|
|
3050
3406
|
});
|
|
3051
3407
|
}
|
|
3408
|
+
/**
|
|
3409
|
+
* @deprecated use RouteParameterList instead
|
|
3410
|
+
* @template E
|
|
3411
|
+
* @param {?} elementType
|
|
3412
|
+
* @param {?=} options
|
|
3413
|
+
* @return {?}
|
|
3414
|
+
*/
|
|
3415
|
+
function QueryParameterList(elementType, options) {
|
|
3416
|
+
// assert.isTruthy(type.isValid());
|
|
3417
|
+
return (/**
|
|
3418
|
+
* @param {?} prototype
|
|
3419
|
+
* @param {?} propertyKey
|
|
3420
|
+
* @return {?}
|
|
3421
|
+
*/
|
|
3422
|
+
function (prototype, propertyKey) {
|
|
3423
|
+
/** @type {?} */
|
|
3424
|
+
var param = createArrayDefinition(propertyKey, elementType, options);
|
|
3425
|
+
Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
|
|
3426
|
+
UseDelegate()(prototype, propertyKey);
|
|
3427
|
+
});
|
|
3428
|
+
}
|
|
3429
|
+
/**
|
|
3430
|
+
* @template E
|
|
3431
|
+
* @param {?} elementType
|
|
3432
|
+
* @param {?=} options
|
|
3433
|
+
* @return {?}
|
|
3434
|
+
*/
|
|
3435
|
+
function RouteParameterList(elementType, options) {
|
|
3436
|
+
// assert.isTruthy(type.isValid());
|
|
3437
|
+
return (/**
|
|
3438
|
+
* @param {?} prototype
|
|
3439
|
+
* @param {?} propertyKey
|
|
3440
|
+
* @return {?}
|
|
3441
|
+
*/
|
|
3442
|
+
function (prototype, propertyKey) {
|
|
3443
|
+
/** @type {?} */
|
|
3444
|
+
var param = createArrayDefinition(propertyKey, elementType, options);
|
|
3445
|
+
Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
|
|
3446
|
+
UseDelegate()(prototype, propertyKey);
|
|
3447
|
+
});
|
|
3448
|
+
}
|
|
3052
3449
|
/**
|
|
3053
3450
|
* @template T
|
|
3054
3451
|
* @param {?} propertyName
|
|
@@ -3068,7 +3465,31 @@ function createDefinition(propertyName, type, options, routeId) {
|
|
|
3068
3465
|
propertyName: propertyNameAsString,
|
|
3069
3466
|
type: assert.notNil(type),
|
|
3070
3467
|
sanitiser: opts.getOptional('sanitiser', null),
|
|
3071
|
-
isRouteId: routeId
|
|
3468
|
+
isRouteId: routeId,
|
|
3469
|
+
isArray: false
|
|
3470
|
+
};
|
|
3471
|
+
return def;
|
|
3472
|
+
}
|
|
3473
|
+
/**
|
|
3474
|
+
* @template T
|
|
3475
|
+
* @param {?} propertyName
|
|
3476
|
+
* @param {?} type
|
|
3477
|
+
* @param {?} options
|
|
3478
|
+
* @return {?}
|
|
3479
|
+
*/
|
|
3480
|
+
function createArrayDefinition(propertyName, type, options) {
|
|
3481
|
+
/** @type {?} */
|
|
3482
|
+
var opts = Opts.get(options);
|
|
3483
|
+
/** @type {?} */
|
|
3484
|
+
var propertyNameAsString = assert.notNil(propertyName).toString();
|
|
3485
|
+
/** @type {?} */
|
|
3486
|
+
var def = {
|
|
3487
|
+
name: opts.getOptional('as', propertyNameAsString),
|
|
3488
|
+
propertyName: propertyNameAsString,
|
|
3489
|
+
type: assert.notNil(type),
|
|
3490
|
+
sanitiser: opts.getOptional('listSanitiser', null),
|
|
3491
|
+
isRouteId: false,
|
|
3492
|
+
isArray: true
|
|
3072
3493
|
};
|
|
3073
3494
|
return def;
|
|
3074
3495
|
}
|
|
@@ -3079,7 +3500,7 @@ function createDefinition(propertyName, type, options, routeId) {
|
|
|
3079
3500
|
*/
|
|
3080
3501
|
/**
|
|
3081
3502
|
* @record
|
|
3082
|
-
* @template
|
|
3503
|
+
* @template E, S
|
|
3083
3504
|
*/
|
|
3084
3505
|
function ParameterDefinition() { }
|
|
3085
3506
|
if (false) {
|
|
@@ -3093,6 +3514,8 @@ if (false) {
|
|
|
3093
3514
|
ParameterDefinition.prototype.sanitiser;
|
|
3094
3515
|
/** @type {?} */
|
|
3095
3516
|
ParameterDefinition.prototype.isRouteId;
|
|
3517
|
+
/** @type {?} */
|
|
3518
|
+
ParameterDefinition.prototype.isArray;
|
|
3096
3519
|
}
|
|
3097
3520
|
|
|
3098
3521
|
/**
|
|
@@ -3197,5 +3620,5 @@ var ParameterType;
|
|
|
3197
3620
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
3198
3621
|
*/
|
|
3199
3622
|
|
|
3200
|
-
export { ACTIVITY_DATA, AbstractActivity, AbstractInputComponent, AbstractPlaceComponent, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CommandDirective, ConfirmationDialogComponent, DialogInteractionService, Dimension, DisposableComponent, EmptyStateComponent, FocusBindingDirective, INTERACTION_CONTEXT, InteractionContext, InteractionModule, LeavePlaceGuard, NumberInputComponent, ParameterType, PasswordInputComponent, Place, PlaceModule, PlaceOutletComponent, PlaceRouteGuard, PlaceService, Point, QueryParameter, ResizeAwareComponent, RouteId, RouteParameterBindings, RouteParameterSanitiser, SelectInputComponent, StringInputComponent, slideDownAndUpAnimation, CommandDirective as ɵa, FocusBindingDirective as ɵb, DisposableComponent as ɵc, NumberInputComponent as ɵd, AbstractInputComponent as ɵe, StringInputComponent as ɵf, PasswordInputComponent as ɵg, SelectInputComponent as ɵh, PlaceModule as ɵi, EmptyStateComponent as ɵj, BusyOverlayComponent as ɵk, PlaceOutletComponent as ɵl, PlaceService as ɵm,
|
|
3623
|
+
export { ACTIVITY_DATA, AbstractActivity, AbstractInputComponent, AbstractPlaceComponent, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CommandDirective, ConfirmationDialogComponent, DialogInteractionService, Dimension, DisposableComponent, EmptyStateComponent, FocusBindingDirective, INTERACTION_CONTEXT, InteractionContext, InteractionModule, LeavePlaceGuard, NavComponent, NumberInputComponent, ParameterType, PasswordInputComponent, Place, PlaceModule, PlaceOutletComponent, PlaceRouteGuard, PlaceService, Point, QueryParameter, QueryParameterList, ResizeAwareComponent, RouteId, RouteParameter, RouteParameterBindings, RouteParameterList, RouteParameterSanitiser, Sanitiser, SelectInputComponent, StringInputComponent, slideDownAndUpAnimation, CommandDirective as ɵa, FocusBindingDirective as ɵb, DisposableComponent as ɵc, NumberInputComponent as ɵd, AbstractInputComponent as ɵe, StringInputComponent as ɵf, PasswordInputComponent as ɵg, SelectInputComponent as ɵh, PlaceModule as ɵi, EmptyStateComponent as ɵj, BusyOverlayComponent as ɵk, PlaceOutletComponent as ɵl, PlaceService as ɵm, NavComponent as ɵn, InteractionModule as ɵo, ActivityContainerComponent as ɵp, ConfirmationDialogComponent as ɵq, AbstractActivity as ɵr, ACTIVITY_DATA as ɵs, AlertDialogComponent as ɵu, ActivityOutletComponent as ɵw, DialogInteractionService as ɵx, InteractionContext as ɵy };
|
|
3201
3624
|
//# sourceMappingURL=coolon-angular-ui-powerups.js.map
|