@coolon/angular-ui-powerups 1.0.1 → 1.1.0
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/CHANGELOG.md +18 -0
- package/bundles/coolon-angular-ui-powerups.umd.js +446 -169
- 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 +26 -25
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +24 -23
- package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
- package/esm2015/lib/components/components.module.js +9 -2
- package/esm2015/lib/components/components.module.js.map +1 -1
- package/esm2015/lib/components/components.module.metadata.json +1 -1
- package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
- package/esm2015/lib/components/forms/abstract-input.component.js +12 -1
- package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/number-input/number-input.component.js +2 -2
- package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/password-input/password-input.component.js +2 -2
- package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/select-input/select-input.component.js +3 -3
- package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/string-input/string-input.component.js +3 -3
- package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
- package/esm2015/lib/components/index.js +1 -0
- package/esm2015/lib/components/index.js.map +1 -1
- package/esm2015/lib/components/index.metadata.json +1 -1
- package/esm2015/lib/components/switch-case/switch-case.component.js +124 -0
- package/esm2015/lib/components/switch-case/switch-case.component.js.map +1 -0
- package/esm2015/lib/components/switch-case/switch-case.component.metadata.json +1 -0
- package/esm2015/lib/components/switch-case/switch-case.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/switch-case/switch-case.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/directives/command.directive.js +4 -4
- package/esm2015/lib/directives/command.directive.js.map +1 -1
- package/esm2015/lib/directives/focus-binding.directive.js +3 -3
- package/esm2015/lib/directives/focus-binding.directive.js.map +1 -1
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.js +3 -3
- package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +2 -2
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -1
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +3 -3
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
- package/esm2015/lib/place/guards/place.guard.js +4 -3
- package/esm2015/lib/place/guards/place.guard.js.map +1 -1
- package/esm2015/lib/place/place-component.js +2 -2
- package/esm2015/lib/place/place-component.js.map +1 -1
- package/esm2015/lib/place/place-history.js +116 -13
- package/esm2015/lib/place/place-history.js.map +1 -1
- package/esm2015/lib/place/place-history.metadata.json +1 -1
- package/esm2015/lib/place/place-router.js +13 -6
- package/esm2015/lib/place/place-router.js.map +1 -1
- package/esm2015/lib/place/place-router.metadata.json +1 -1
- package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
- package/esm2015/lib/place/route/parameter-definition.class.js +10 -9
- package/esm2015/lib/place/route/parameter-definition.class.js.map +1 -1
- package/esm2015/lib/place/route/visit-sanitiser.js +14 -6
- package/esm2015/lib/place/route/visit-sanitiser.js.map +1 -1
- package/esm2015/lib/place/route/visit-sanitiser.metadata.json +1 -1
- package/esm5/coolon-angular-ui-powerups.js +24 -23
- package/esm5/coolon-angular-ui-powerups.js.map +1 -1
- package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
- package/esm5/lib/components/components.module.js +9 -2
- package/esm5/lib/components/components.module.js.map +1 -1
- package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
- package/esm5/lib/components/forms/abstract-input.component.js +12 -1
- package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
- package/esm5/lib/components/forms/number-input/number-input.component.js +2 -2
- package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
- package/esm5/lib/components/forms/password-input/password-input.component.js +2 -2
- package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
- package/esm5/lib/components/forms/select-input/select-input.component.js +3 -3
- package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
- package/esm5/lib/components/forms/string-input/string-input.component.js +3 -3
- package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
- package/esm5/lib/components/index.js +1 -0
- package/esm5/lib/components/index.js.map +1 -1
- package/esm5/lib/components/switch-case/switch-case.component.js +144 -0
- package/esm5/lib/components/switch-case/switch-case.component.js.map +1 -0
- package/esm5/lib/components/switch-case/switch-case.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/switch-case/switch-case.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/directives/command.directive.js +4 -4
- package/esm5/lib/directives/command.directive.js.map +1 -1
- package/esm5/lib/directives/focus-binding.directive.js +3 -3
- package/esm5/lib/directives/focus-binding.directive.js.map +1 -1
- package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
- package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
- package/esm5/lib/place/components/abstract-place-navigation.component.js +3 -3
- package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
- package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +2 -2
- package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -1
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +3 -3
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
- package/esm5/lib/place/guards/place.guard.js +5 -4
- package/esm5/lib/place/guards/place.guard.js.map +1 -1
- package/esm5/lib/place/place-component.js +2 -2
- package/esm5/lib/place/place-component.js.map +1 -1
- package/esm5/lib/place/place-history.js +117 -11
- package/esm5/lib/place/place-history.js.map +1 -1
- package/esm5/lib/place/place-router.js +13 -7
- package/esm5/lib/place/place-router.js.map +1 -1
- package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
- package/esm5/lib/place/route/parameter-definition.class.js +11 -11
- package/esm5/lib/place/route/parameter-definition.class.js.map +1 -1
- package/esm5/lib/place/route/visit-sanitiser.js +14 -6
- package/esm5/lib/place/route/visit-sanitiser.js.map +1 -1
- package/fesm2015/coolon-angular-ui-powerups.js +377 -127
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +405 -135
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/components/forms/abstract-input.component.d.ts +11 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/switch-case/switch-case.component.d.ts +32 -0
- package/lib/place/place-history.d.ts +17 -3
- package/lib/place/route/parameter-definition.class.d.ts +1 -1
- package/lib/place/route/visit-sanitiser.d.ts +3 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __extends, __decorate, __metadata, __param, __awaiter, __generator, __spread, __assign } from 'tslib';
|
|
2
2
|
import { DOCUMENT, CommonModule, Location } from '@angular/common';
|
|
3
|
-
import { ElementRef, Inject, Input, HostListener, Directive, NgZone, NgModule, EventEmitter, Output, Component, ContentChild, TemplateRef, InjectionToken, Injector, ComponentFactoryResolver, ViewContainerRef, ViewChild, ViewChildren,
|
|
3
|
+
import { ElementRef, Inject, Input, HostListener, Directive, NgZone, NgModule, EventEmitter, Output, Component, ContentChild, TemplateRef, ChangeDetectorRef, ContentChildren, QueryList, InjectionToken, Injector, ComponentFactoryResolver, ViewContainerRef, ViewChild, ViewChildren, ɵɵdefineInjectable, ɵɵinject, Injectable, Optional, SkipSelf, HostBinding } from '@angular/core';
|
|
4
4
|
import { FormsModule } from '@angular/forms';
|
|
5
5
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
6
|
import { MatInputModule } from '@angular/material/input';
|
|
@@ -9,7 +9,7 @@ import { MatTabsModule, MatTabGroup } from '@angular/material/tabs';
|
|
|
9
9
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
10
10
|
import { MatButtonModule } from '@angular/material/button';
|
|
11
11
|
import { MatIconModule } from '@angular/material/icon';
|
|
12
|
-
import { DelegatingValueModel, assert, UnaryCommand, lang, Dsl, GarbageCollector, Logger, DelegatingFormValueModel, Command,
|
|
12
|
+
import { DelegatingValueModel, assert, UnaryCommand, lang, Dsl, GarbageCollector, Logger, DelegatingFormValueModel, Command, TrackExternal, ListModel, StoreInListModel, ValueModel, StoreInValueModel, Deferred, Trace, MutableListModel, MutableValueModel, Guard, DebugContext, Binding, ValueHolder } from '@coolon/pectin';
|
|
13
13
|
import { PortalModule } from '@angular/cdk/portal';
|
|
14
14
|
import { MatDialogModule, MatDialog, MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
|
|
15
15
|
import { RouterModule, UrlSegment, Router, UrlSerializer, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterOutlet } from '@angular/router';
|
|
@@ -60,7 +60,7 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
60
60
|
assert.notNil(this.pectinCommand);
|
|
61
61
|
if (this.pectinCommand instanceof UnaryCommand) {
|
|
62
62
|
if (!this._commandParameterProvided) {
|
|
63
|
-
lang.illegalState('UnaryCommands
|
|
63
|
+
lang.illegalState('UnaryCommands require the command parameter to be specified.');
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
else {
|
|
@@ -73,8 +73,8 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
73
73
|
var _this = this;
|
|
74
74
|
// for some reason mat-buttons kills the disabled host binding. It works on a regular button but for now
|
|
75
75
|
// we need to do this.
|
|
76
|
-
var
|
|
77
|
-
|
|
76
|
+
var when = Dsl.disposeWith(this).when;
|
|
77
|
+
when.valueOf(this._commandEnabled).changes(function (enabled) {
|
|
78
78
|
if (enabled) {
|
|
79
79
|
_this.elementRef.nativeElement.removeAttribute('disabled');
|
|
80
80
|
if (_this.elementRef.nativeElement.tagName === 'A') {
|
|
@@ -87,7 +87,7 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
87
87
|
_this.elementRef.nativeElement.removeAttribute('href');
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
});
|
|
90
|
+
}, { initialValue: 'triggerChange' });
|
|
91
91
|
};
|
|
92
92
|
CommandDirective.prototype.ngOnDestroy = function () {
|
|
93
93
|
this.dispose();
|
|
@@ -177,12 +177,12 @@ var FocusBindingDirective = /** @class */ (function (_super) {
|
|
|
177
177
|
var _this = this;
|
|
178
178
|
// TODO: Make this also track the current enabled/disabled state.
|
|
179
179
|
if (this.hasBinding()) {
|
|
180
|
-
var
|
|
181
|
-
|
|
180
|
+
var when = Dsl.disposeWith(this).when;
|
|
181
|
+
when.valueOf(this.pectinFocusBinding.focusContext.focused).changes(function (focused) {
|
|
182
182
|
if (focused && !_this.alreadyHasFocus()) {
|
|
183
183
|
_this.tryAndFocus();
|
|
184
184
|
}
|
|
185
|
-
});
|
|
185
|
+
}, { initialValue: 'triggerChange' });
|
|
186
186
|
}
|
|
187
187
|
else {
|
|
188
188
|
Logger.get(this).warn('pectinFocusBinding was nil');
|
|
@@ -310,7 +310,18 @@ var AbstractInputComponent = /** @class */ (function (_super) {
|
|
|
310
310
|
__extends(AbstractInputComponent, _super);
|
|
311
311
|
function AbstractInputComponent() {
|
|
312
312
|
var _this = _super.call(this) || this;
|
|
313
|
-
|
|
313
|
+
/**
|
|
314
|
+
* A backing model for all our @Input() valueModel properties which should be defined as follows.
|
|
315
|
+
*
|
|
316
|
+
* @Input() @TrackExternal({useExisting: "delegatingFormValueModel"})
|
|
317
|
+
* valueModel: FormValueModel<string> | MutableValueModel<string>;
|
|
318
|
+
*
|
|
319
|
+
* This approach allows the input to accept plain or form models but all backed by a form
|
|
320
|
+
* friendly delegate. We have to use an existing delegate for union types as pectin just
|
|
321
|
+
* gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
|
|
322
|
+
*/
|
|
323
|
+
// We have to register it as a disposable so it ditches any listeners when we're disposed.
|
|
324
|
+
_this.delegatingFormValueModel = _this.registerDisposable(new DelegatingFormValueModel());
|
|
314
325
|
// TODO: fix this.
|
|
315
326
|
// tslint:disable-next-line:no-output-native
|
|
316
327
|
_this.focus = new EventEmitter();
|
|
@@ -466,7 +477,7 @@ var NumberInputComponent = /** @class */ (function (_super) {
|
|
|
466
477
|
NumberInputComponent.prototype.ngOnInit = function () {
|
|
467
478
|
};
|
|
468
479
|
__decorate([
|
|
469
|
-
Input(),
|
|
480
|
+
Input(), TrackExternal({ delegateTo: "delegatingFormValueModel" }),
|
|
470
481
|
__metadata("design:type", Object)
|
|
471
482
|
], NumberInputComponent.prototype, "valueModel", void 0);
|
|
472
483
|
NumberInputComponent = __decorate([
|
|
@@ -488,7 +499,7 @@ var PasswordInputComponent = /** @class */ (function (_super) {
|
|
|
488
499
|
PasswordInputComponent.prototype.ngOnInit = function () {
|
|
489
500
|
};
|
|
490
501
|
__decorate([
|
|
491
|
-
Input(),
|
|
502
|
+
Input(), TrackExternal({ delegateTo: "delegatingFormValueModel" }),
|
|
492
503
|
__metadata("design:type", Object)
|
|
493
504
|
], PasswordInputComponent.prototype, "valueModel", void 0);
|
|
494
505
|
PasswordInputComponent = __decorate([
|
|
@@ -512,11 +523,11 @@ var SelectInputComponent = /** @class */ (function (_super) {
|
|
|
512
523
|
SelectInputComponent.prototype.ngOnInit = function () {
|
|
513
524
|
};
|
|
514
525
|
__decorate([
|
|
515
|
-
Input(),
|
|
526
|
+
Input(), TrackExternal({ delegateTo: "delegatingFormValueModel" }),
|
|
516
527
|
__metadata("design:type", Object)
|
|
517
528
|
], SelectInputComponent.prototype, "valueModel", void 0);
|
|
518
529
|
__decorate([
|
|
519
|
-
Input(),
|
|
530
|
+
Input(), TrackExternal(),
|
|
520
531
|
__metadata("design:type", ListModel)
|
|
521
532
|
], SelectInputComponent.prototype, "optionsModel", void 0);
|
|
522
533
|
__decorate([
|
|
@@ -568,11 +579,11 @@ var StringInputComponent = /** @class */ (function (_super) {
|
|
|
568
579
|
StringInputComponent.prototype.ngOnInit = function () {
|
|
569
580
|
};
|
|
570
581
|
__decorate([
|
|
571
|
-
Input(),
|
|
582
|
+
Input(), TrackExternal({ delegateTo: "delegatingFormValueModel" }),
|
|
572
583
|
__metadata("design:type", Object)
|
|
573
584
|
], StringInputComponent.prototype, "valueModel", void 0);
|
|
574
585
|
__decorate([
|
|
575
|
-
Input(),
|
|
586
|
+
Input(), TrackExternal({ defaultValue: false }),
|
|
576
587
|
__metadata("design:type", ValueModel)
|
|
577
588
|
], StringInputComponent.prototype, "enableClearModel", void 0);
|
|
578
589
|
__decorate([
|
|
@@ -620,6 +631,142 @@ var ScrollContainerComponent = /** @class */ (function () {
|
|
|
620
631
|
return ScrollContainerComponent;
|
|
621
632
|
}());
|
|
622
633
|
|
|
634
|
+
var SwitchCaseOption = /** @class */ (function () {
|
|
635
|
+
function SwitchCaseOption(templateRef) {
|
|
636
|
+
this.templateRef = templateRef;
|
|
637
|
+
}
|
|
638
|
+
Object.defineProperty(SwitchCaseOption.prototype, "name", {
|
|
639
|
+
get: function () {
|
|
640
|
+
return this.constructor.name;
|
|
641
|
+
},
|
|
642
|
+
enumerable: true,
|
|
643
|
+
configurable: true
|
|
644
|
+
});
|
|
645
|
+
return SwitchCaseOption;
|
|
646
|
+
}());
|
|
647
|
+
var SwitchCaseWhenDirective = /** @class */ (function (_super) {
|
|
648
|
+
__extends(SwitchCaseWhenDirective, _super);
|
|
649
|
+
function SwitchCaseWhenDirective(templateRef) {
|
|
650
|
+
var _this = _super.call(this, templateRef) || this;
|
|
651
|
+
_this.isDefault = false;
|
|
652
|
+
return _this;
|
|
653
|
+
}
|
|
654
|
+
SwitchCaseWhenDirective_1 = SwitchCaseWhenDirective;
|
|
655
|
+
SwitchCaseWhenDirective.prototype.matches = function (value) {
|
|
656
|
+
return this.aupSwitchCaseWhen === value;
|
|
657
|
+
};
|
|
658
|
+
var SwitchCaseWhenDirective_1;
|
|
659
|
+
SwitchCaseWhenDirective.ctorParameters = function () { return [
|
|
660
|
+
{ type: TemplateRef }
|
|
661
|
+
]; };
|
|
662
|
+
__decorate([
|
|
663
|
+
Input(),
|
|
664
|
+
__metadata("design:type", Object)
|
|
665
|
+
], SwitchCaseWhenDirective.prototype, "aupSwitchCaseWhen", void 0);
|
|
666
|
+
SwitchCaseWhenDirective = SwitchCaseWhenDirective_1 = __decorate([
|
|
667
|
+
Directive({
|
|
668
|
+
selector: '[aupSwitchCaseWhen]',
|
|
669
|
+
providers: [{ provide: SwitchCaseOption, useExisting: SwitchCaseWhenDirective_1 }]
|
|
670
|
+
}),
|
|
671
|
+
__metadata("design:paramtypes", [TemplateRef])
|
|
672
|
+
], SwitchCaseWhenDirective);
|
|
673
|
+
return SwitchCaseWhenDirective;
|
|
674
|
+
}(SwitchCaseOption));
|
|
675
|
+
var SwitchCaseDefaultDirective = /** @class */ (function (_super) {
|
|
676
|
+
__extends(SwitchCaseDefaultDirective, _super);
|
|
677
|
+
function SwitchCaseDefaultDirective(templateRef) {
|
|
678
|
+
var _this = _super.call(this, templateRef) || this;
|
|
679
|
+
_this.isDefault = true;
|
|
680
|
+
return _this;
|
|
681
|
+
}
|
|
682
|
+
SwitchCaseDefaultDirective_1 = SwitchCaseDefaultDirective;
|
|
683
|
+
SwitchCaseDefaultDirective.prototype.matches = function (value) {
|
|
684
|
+
return false;
|
|
685
|
+
};
|
|
686
|
+
var SwitchCaseDefaultDirective_1;
|
|
687
|
+
SwitchCaseDefaultDirective.ctorParameters = function () { return [
|
|
688
|
+
{ type: TemplateRef }
|
|
689
|
+
]; };
|
|
690
|
+
SwitchCaseDefaultDirective = SwitchCaseDefaultDirective_1 = __decorate([
|
|
691
|
+
Directive({
|
|
692
|
+
selector: '[aupSwitchCaseDefault]',
|
|
693
|
+
providers: [{ provide: SwitchCaseOption, useExisting: SwitchCaseDefaultDirective_1 }]
|
|
694
|
+
}),
|
|
695
|
+
__metadata("design:paramtypes", [TemplateRef])
|
|
696
|
+
], SwitchCaseDefaultDirective);
|
|
697
|
+
return SwitchCaseDefaultDirective;
|
|
698
|
+
}(SwitchCaseOption));
|
|
699
|
+
var SwitchCaseComponent = /** @class */ (function (_super) {
|
|
700
|
+
__extends(SwitchCaseComponent, _super);
|
|
701
|
+
function SwitchCaseComponent(cdr) {
|
|
702
|
+
var _this = _super.call(this) || this;
|
|
703
|
+
_this.cdr = cdr;
|
|
704
|
+
_this.selectedIndex = 0;
|
|
705
|
+
return _this;
|
|
706
|
+
}
|
|
707
|
+
SwitchCaseComponent.prototype.ngOnInit = function () {
|
|
708
|
+
};
|
|
709
|
+
SwitchCaseComponent.prototype.ngAfterContentInit = function () {
|
|
710
|
+
var _this = this;
|
|
711
|
+
var subscription = this.switchCaseOptions.changes.subscribe(function (change) { return _this.updateSelection(); });
|
|
712
|
+
this.onDispose(function () { return subscription.unsubscribe(); });
|
|
713
|
+
var _a = Dsl.disposeWith(this), chain = _a.chain, when = _a.when;
|
|
714
|
+
when.valueOf(this.switchModel).changes(function () { return _this.updateSelection(); }, { initialValue: 'triggerChange' });
|
|
715
|
+
this.cdr.detectChanges();
|
|
716
|
+
};
|
|
717
|
+
SwitchCaseComponent.prototype.updateSelection = function () {
|
|
718
|
+
var _this = this;
|
|
719
|
+
var matchingIndicies = [];
|
|
720
|
+
this.switchCaseOptions.forEach(function (option, index) {
|
|
721
|
+
if (option.matches(_this.switchModel.value)) {
|
|
722
|
+
matchingIndicies.push(index);
|
|
723
|
+
}
|
|
724
|
+
});
|
|
725
|
+
if (matchingIndicies.length > 1) {
|
|
726
|
+
console.warn("found " + matchingIndicies.length + " matching case values, displaying the first.");
|
|
727
|
+
}
|
|
728
|
+
if (matchingIndicies.length === 0) {
|
|
729
|
+
this.switchCaseOptions.forEach(function (option, index) {
|
|
730
|
+
matchingIndicies.push(index);
|
|
731
|
+
});
|
|
732
|
+
if (matchingIndicies.length > 1) {
|
|
733
|
+
console.warn("found " + matchingIndicies.length + " default case values, displaying the first.");
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
if (matchingIndicies.length > 0) {
|
|
737
|
+
this.selectedIndex = matchingIndicies[0];
|
|
738
|
+
}
|
|
739
|
+
else {
|
|
740
|
+
console.warn("found no matching or default case values.");
|
|
741
|
+
this.selectedIndex = -1;
|
|
742
|
+
}
|
|
743
|
+
};
|
|
744
|
+
SwitchCaseComponent.ctorParameters = function () { return [
|
|
745
|
+
{ type: ChangeDetectorRef }
|
|
746
|
+
]; };
|
|
747
|
+
__decorate([
|
|
748
|
+
Input(), TrackExternal(),
|
|
749
|
+
__metadata("design:type", ValueModel)
|
|
750
|
+
], SwitchCaseComponent.prototype, "switchModel", void 0);
|
|
751
|
+
__decorate([
|
|
752
|
+
Input(), StoreInValueModel('switchModel'),
|
|
753
|
+
__metadata("design:type", Object)
|
|
754
|
+
], SwitchCaseComponent.prototype, "switch", void 0);
|
|
755
|
+
__decorate([
|
|
756
|
+
ContentChildren(SwitchCaseOption),
|
|
757
|
+
__metadata("design:type", QueryList)
|
|
758
|
+
], SwitchCaseComponent.prototype, "switchCaseOptions", void 0);
|
|
759
|
+
SwitchCaseComponent = __decorate([
|
|
760
|
+
Component({
|
|
761
|
+
selector: 'aup-switch-case',
|
|
762
|
+
template: "<mat-tab-group class=\"content-wrapper\" no-tab-header full-height-tabs [selectedIndex]=\"selectedIndex\">\n <mat-tab *ngFor=\"let option of switchCaseOptions\">\n <ng-template [ngTemplateOutlet]=\"option.templateRef\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n\n\n",
|
|
763
|
+
styles: [":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}"]
|
|
764
|
+
}),
|
|
765
|
+
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
766
|
+
], SwitchCaseComponent);
|
|
767
|
+
return SwitchCaseComponent;
|
|
768
|
+
}(DisposableComponent));
|
|
769
|
+
|
|
623
770
|
var ComponentsModule = /** @class */ (function () {
|
|
624
771
|
function ComponentsModule() {
|
|
625
772
|
}
|
|
@@ -632,7 +779,10 @@ var ComponentsModule = /** @class */ (function () {
|
|
|
632
779
|
SelectInputComponent,
|
|
633
780
|
ScrollContainerComponent,
|
|
634
781
|
NoopComponent,
|
|
635
|
-
AbstractInputComponent
|
|
782
|
+
AbstractInputComponent,
|
|
783
|
+
SwitchCaseComponent,
|
|
784
|
+
SwitchCaseWhenDirective,
|
|
785
|
+
SwitchCaseDefaultDirective
|
|
636
786
|
],
|
|
637
787
|
imports: [
|
|
638
788
|
CommonModule,
|
|
@@ -652,7 +802,10 @@ var ComponentsModule = /** @class */ (function () {
|
|
|
652
802
|
PasswordInputComponent,
|
|
653
803
|
SelectInputComponent,
|
|
654
804
|
ScrollContainerComponent,
|
|
655
|
-
NoopComponent
|
|
805
|
+
NoopComponent,
|
|
806
|
+
SwitchCaseComponent,
|
|
807
|
+
SwitchCaseWhenDirective,
|
|
808
|
+
SwitchCaseDefaultDirective
|
|
656
809
|
]
|
|
657
810
|
})
|
|
658
811
|
], ComponentsModule);
|
|
@@ -724,7 +877,7 @@ var AlertDialogComponent = /** @class */ (function (_super) {
|
|
|
724
877
|
Component({
|
|
725
878
|
selector: 'aup-alert-dialog',
|
|
726
879
|
template: "<h3 matDialogTitle *ngIf=\"alert.title\">{{alert.title()}}</h3>\n<div matDialogContent>\n <p *ngFor=\"let line of alert.content()\">{{line}}</p>\n</div>\n<div matDialogActions>\n <button mat-raised-button color=\"primary\" (click)=\"done()\" data-cy=\"close-button\">{{alert.ok()}}</button>\n</div>\n",
|
|
727
|
-
styles: [":host{display:block;padding:var(--aup-default-padding)}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{justify-content:flex-end}"]
|
|
880
|
+
styles: [":host{display:block;padding:var(--aup-default-padding)}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}"]
|
|
728
881
|
}),
|
|
729
882
|
__param(0, Inject(ACTIVITY_DATA)),
|
|
730
883
|
__metadata("design:paramtypes", [Object])
|
|
@@ -765,7 +918,7 @@ var ConfirmThenDialogComponent = /** @class */ (function (_super) {
|
|
|
765
918
|
Component({
|
|
766
919
|
selector: 'aup-confirmation-dialog',
|
|
767
920
|
template: "<h3 matDialogTitle *ngIf=\"confirm.title\">{{confirm.title()}}</h3>\n<div matDialogContent>\n <p *ngFor=\"let line of confirm.content()\">{{line}}</p>\n</div>\n<div matDialogActions>\n <button mat-button (click)=\"cancel()\" data-cy=\"cancel-button\">{{confirm.cancel()}}</button>\n <button mat-raised-button [color]=\"isDestructive() ? 'warn' : 'primary'\"\n (click)=\"onConfirm()\" data-cy=\"confirm-button\">{{confirm.ok()}}</button>\n</div>\n\n",
|
|
768
|
-
styles: [":host{display:block;padding:var(--aup-default-padding)}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{justify-content:flex-end}"]
|
|
921
|
+
styles: [":host{display:block;padding:var(--aup-default-padding)}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}"]
|
|
769
922
|
}),
|
|
770
923
|
__param(0, Inject(ACTIVITY_DATA)),
|
|
771
924
|
__metadata("design:paramtypes", [Object])
|
|
@@ -793,7 +946,7 @@ var ConfirmationDialogComponent = /** @class */ (function (_super) {
|
|
|
793
946
|
Component({
|
|
794
947
|
selector: 'aup-confirmation-dialog',
|
|
795
948
|
template: "<h3 matDialogTitle *ngIf=\"confirm.title\">{{confirm.title()}}</h3>\n<div matDialogContent>\n <p *ngFor=\"let line of confirm.content()\">{{line}}</p>\n</div>\n<div matDialogActions>\n <button mat-button (click)=\"cancel()\" data-cy=\"cancel-button\">{{confirm.cancel()}}</button>\n <button mat-raised-button [color]=\"isDestructive() ? 'warn' : 'primary'\"\n (click)=\"done()\" data-cy=\"confirm-button\">{{confirm.ok()}}</button>\n</div>\n\n",
|
|
796
|
-
styles: [":host{display:block;padding:var(--aup-default-padding)}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{justify-content:flex-end}"]
|
|
949
|
+
styles: [":host{display:block;padding:var(--aup-default-padding)}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}"]
|
|
797
950
|
}),
|
|
798
951
|
__param(0, Inject(ACTIVITY_DATA)),
|
|
799
952
|
__metadata("design:paramtypes", [Object])
|
|
@@ -1484,22 +1637,22 @@ var ParameterDefinition = /** @class */ (function () {
|
|
|
1484
1637
|
return this.options.getOptional(key, null);
|
|
1485
1638
|
};
|
|
1486
1639
|
// @Trace()
|
|
1487
|
-
ParameterDefinition.prototype.sanitise = function (value, visit, placeHistory, injector) {
|
|
1640
|
+
ParameterDefinition.prototype.sanitise = function (value, visit, placeHistory, injector, isPopState) {
|
|
1488
1641
|
return __awaiter(this, void 0, void 0, function () {
|
|
1489
|
-
var
|
|
1642
|
+
var returningFromSomewhereElse, lastKnownVisit;
|
|
1490
1643
|
return __generator(this, function (_a) {
|
|
1491
1644
|
if (this.isMissingFrom(visit)) {
|
|
1492
|
-
|
|
1493
|
-
if (
|
|
1494
|
-
|
|
1645
|
+
returningFromSomewhereElse = !placeHistory.lastVisitIncluded(visit.placeDefinition);
|
|
1646
|
+
if (returningFromSomewhereElse) {
|
|
1647
|
+
lastKnownVisit = placeHistory.getMostRecentVisitFor(visit.placeDefinition);
|
|
1648
|
+
if (this.remember && lastKnownVisit) {
|
|
1649
|
+
value = lastKnownVisit.getParameter(this.name);
|
|
1650
|
+
}
|
|
1651
|
+
return [2 /*return*/, this.isEmptyValue(value) ? this.defaultValue : value];
|
|
1495
1652
|
}
|
|
1496
|
-
return [2 /*return*/, this.isEmptyValue(value) ? this.defaultValue : value];
|
|
1497
|
-
}
|
|
1498
|
-
else {
|
|
1499
|
-
// todo: add custom sanitiser
|
|
1500
|
-
return [2 /*return*/, value];
|
|
1501
1653
|
}
|
|
1502
|
-
|
|
1654
|
+
// todo: add custom sanitiser
|
|
1655
|
+
return [2 /*return*/, value];
|
|
1503
1656
|
});
|
|
1504
1657
|
});
|
|
1505
1658
|
};
|
|
@@ -1746,11 +1899,11 @@ var PlaceComponent = /** @class */ (function (_super) {
|
|
|
1746
1899
|
var binding = this.registerDisposable(new Binding(this.visitModel, model, {
|
|
1747
1900
|
toRight: function (visit) {
|
|
1748
1901
|
var value = visit.getParameter(parameterDef.name);
|
|
1749
|
-
console.log('push to component', { name: parameterDef.name, value
|
|
1902
|
+
// console.log('push to component', { name: parameterDef.name, value, visit });
|
|
1750
1903
|
return value;
|
|
1751
1904
|
},
|
|
1752
1905
|
toLeft: function (value, currentVisit) {
|
|
1753
|
-
console.log('push to route', { name: parameterDef.name, value
|
|
1906
|
+
// console.log('push to route', { name: parameterDef.name, value, currentVisit });
|
|
1754
1907
|
return currentVisit.replace(parameterDef, value);
|
|
1755
1908
|
}
|
|
1756
1909
|
}));
|
|
@@ -2571,19 +2724,32 @@ var PopStateNavigation = /** @class */ (function (_super) {
|
|
|
2571
2724
|
|
|
2572
2725
|
var PlaceHistory = /** @class */ (function () {
|
|
2573
2726
|
function PlaceHistory() {
|
|
2574
|
-
this.
|
|
2727
|
+
this._archive = new Map();
|
|
2728
|
+
this.placeHistoryDepth = 4;
|
|
2575
2729
|
}
|
|
2576
|
-
|
|
2577
|
-
PlaceHistory.prototype.
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
history.unshift(state); // LIFO
|
|
2582
|
-
this.setHistory(state.placeDefinition, history.slice(0, 3)); // limit our history to 4 visits
|
|
2730
|
+
PlaceHistory_1 = PlaceHistory;
|
|
2731
|
+
PlaceHistory.prototype.notifyNavigationStarted = function () {
|
|
2732
|
+
if (this._activeVisits) {
|
|
2733
|
+
this.archive(this._activeVisits.visits);
|
|
2734
|
+
this._previousVisits = this._activeVisits;
|
|
2583
2735
|
}
|
|
2584
2736
|
};
|
|
2737
|
+
PlaceHistory.prototype.notifyNavigationFinished = function (visits) {
|
|
2738
|
+
this._activeVisits = new PlaceHistory_1.VisitRecord(visits);
|
|
2739
|
+
};
|
|
2740
|
+
PlaceHistory.prototype.updateVisit = function (visit) {
|
|
2741
|
+
assert.isTruthy(this._activeVisits);
|
|
2742
|
+
this._activeVisits.update(visit);
|
|
2743
|
+
};
|
|
2744
|
+
PlaceHistory.prototype.lastVisitIncluded = function (placeDef) {
|
|
2745
|
+
var _a;
|
|
2746
|
+
return !!((_a = this._previousVisits) === null || _a === void 0 ? void 0 : _a.getVisitFor(placeDef));
|
|
2747
|
+
};
|
|
2748
|
+
PlaceHistory.prototype.getMostRecentVisitFor = function (placeDef) {
|
|
2749
|
+
return ___default.first(this.getHistory(placeDef));
|
|
2750
|
+
};
|
|
2585
2751
|
PlaceHistory.prototype.getHistory = function (placeDef) {
|
|
2586
|
-
var history = this.
|
|
2752
|
+
var history = this._archive.get(placeDef);
|
|
2587
2753
|
if (!history) {
|
|
2588
2754
|
history = [];
|
|
2589
2755
|
this.setHistory(placeDef, history);
|
|
@@ -2591,10 +2757,22 @@ var PlaceHistory = /** @class */ (function () {
|
|
|
2591
2757
|
return history;
|
|
2592
2758
|
};
|
|
2593
2759
|
PlaceHistory.prototype.setHistory = function (placeDef, history) {
|
|
2594
|
-
this.
|
|
2760
|
+
this._archive.set(placeDef, history);
|
|
2595
2761
|
};
|
|
2762
|
+
PlaceHistory.prototype.archive = function (visits) {
|
|
2763
|
+
var _this = this;
|
|
2764
|
+
visits.forEach(function (state) {
|
|
2765
|
+
var history = _this.getHistory(state.placeDefinition);
|
|
2766
|
+
var previousState = ___default.first(history);
|
|
2767
|
+
if (!previousState || state.hasChangedFrom(previousState)) {
|
|
2768
|
+
history.unshift(state); // LIFO
|
|
2769
|
+
_this.setHistory(state.placeDefinition, history.slice(0, _this.placeHistoryDepth));
|
|
2770
|
+
}
|
|
2771
|
+
});
|
|
2772
|
+
};
|
|
2773
|
+
var PlaceHistory_1;
|
|
2596
2774
|
PlaceHistory.ɵprov = ɵɵdefineInjectable({ factory: function PlaceHistory_Factory() { return new PlaceHistory(); }, token: PlaceHistory, providedIn: "root" });
|
|
2597
|
-
PlaceHistory = __decorate([
|
|
2775
|
+
PlaceHistory = PlaceHistory_1 = __decorate([
|
|
2598
2776
|
Injectable({
|
|
2599
2777
|
providedIn: 'root'
|
|
2600
2778
|
}),
|
|
@@ -2602,6 +2780,86 @@ var PlaceHistory = /** @class */ (function () {
|
|
|
2602
2780
|
], PlaceHistory);
|
|
2603
2781
|
return PlaceHistory;
|
|
2604
2782
|
}());
|
|
2783
|
+
(function (PlaceHistory) {
|
|
2784
|
+
var VisitRecord = /** @class */ (function () {
|
|
2785
|
+
function VisitRecord(visits) {
|
|
2786
|
+
this.visits = visits;
|
|
2787
|
+
}
|
|
2788
|
+
VisitRecord.prototype.update = function (visit) {
|
|
2789
|
+
this.visits = this.visits.filter(function (v) { return v.placeDefinition !== visit.placeDefinition; }).concat(visit);
|
|
2790
|
+
};
|
|
2791
|
+
VisitRecord.prototype.getVisitFor = function (placeDef) {
|
|
2792
|
+
return this.visits.find(function (v) { return v.placeDefinition === placeDef; });
|
|
2793
|
+
};
|
|
2794
|
+
return VisitRecord;
|
|
2795
|
+
}());
|
|
2796
|
+
PlaceHistory.VisitRecord = VisitRecord;
|
|
2797
|
+
// export class Query {
|
|
2798
|
+
// private _history: Visit.State[];
|
|
2799
|
+
// private _places: Place[];
|
|
2800
|
+
// private _predicate: (visit: any) => boolean;
|
|
2801
|
+
// private _limit: number;
|
|
2802
|
+
//
|
|
2803
|
+
// constructor(history, limit = history.length) {
|
|
2804
|
+
// this._history = history;
|
|
2805
|
+
// this._places = [];
|
|
2806
|
+
// this._predicate = (visit => true);
|
|
2807
|
+
// this._limit = limit;
|
|
2808
|
+
// }
|
|
2809
|
+
//
|
|
2810
|
+
// to(...places:Place[]):this {
|
|
2811
|
+
// this._places = places;
|
|
2812
|
+
// return this;
|
|
2813
|
+
// }
|
|
2814
|
+
//
|
|
2815
|
+
// with(parameters: { [parameter: string]: any }): this {
|
|
2816
|
+
// this.matching(state => {
|
|
2817
|
+
// return Object.keys(parameters).reduce((acc, key) => {
|
|
2818
|
+
// const matchValue = parameters[key];
|
|
2819
|
+
// const visitValue = state.get(key);
|
|
2820
|
+
// const matched = matchValue === '*' ? !_.isNil(visitValue) : visitValue == matchValue;
|
|
2821
|
+
// // Logger.get(this).info(`matched=${matched}`, parameters, visitValue);
|
|
2822
|
+
// return acc && matched;
|
|
2823
|
+
// }, true);
|
|
2824
|
+
// });
|
|
2825
|
+
// return this;
|
|
2826
|
+
// }
|
|
2827
|
+
//
|
|
2828
|
+
// last(): Visit.State {
|
|
2829
|
+
// return _.findLast(this._history, visit => this._matches(visit))
|
|
2830
|
+
// }
|
|
2831
|
+
//
|
|
2832
|
+
// // @trace
|
|
2833
|
+
// allThatMatch(): Visit.State[] {
|
|
2834
|
+
// return _.filter(this._history, visit => this._matches(visit)).slice(-this._limit);
|
|
2835
|
+
// }
|
|
2836
|
+
//
|
|
2837
|
+
// // @trace
|
|
2838
|
+
// mostRecentValueOf<T=any>(param: string, defaultValue: T = null): T {
|
|
2839
|
+
// const lastStateWithParam = _.findLast(this.allThatMatch(), state => !_.isNil(state.get(param)));
|
|
2840
|
+
// return _.isNil(lastStateWithParam) ? defaultValue : lastStateWithParam.get(param);
|
|
2841
|
+
// }
|
|
2842
|
+
//
|
|
2843
|
+
// limit(limit: number): this {
|
|
2844
|
+
// this._limit = limit;
|
|
2845
|
+
// return this;
|
|
2846
|
+
// }
|
|
2847
|
+
//
|
|
2848
|
+
// matching(predicate: (visit: Visit.State) => boolean): this {
|
|
2849
|
+
// this._predicate = predicate;
|
|
2850
|
+
// return this;
|
|
2851
|
+
// }
|
|
2852
|
+
//
|
|
2853
|
+
// _matches(visit: Visit.State) {
|
|
2854
|
+
// return this._isPlaceMatch(visit) && this._predicate(visit);
|
|
2855
|
+
// }
|
|
2856
|
+
//
|
|
2857
|
+
// _isPlaceMatch(visit: Visit.State) {
|
|
2858
|
+
// return this._places.length < 1 || this._places.includes(visit.place)
|
|
2859
|
+
// }
|
|
2860
|
+
//
|
|
2861
|
+
// }
|
|
2862
|
+
})(PlaceHistory || (PlaceHistory = {}));
|
|
2605
2863
|
|
|
2606
2864
|
var UrlSnapshot = /** @class */ (function () {
|
|
2607
2865
|
// TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.
|
|
@@ -2765,6 +3023,75 @@ var UrlService = /** @class */ (function () {
|
|
|
2765
3023
|
return UrlService;
|
|
2766
3024
|
}());
|
|
2767
3025
|
|
|
3026
|
+
var Visit = /** @class */ (function () {
|
|
3027
|
+
function Visit(placeDefinition, visitParameters) {
|
|
3028
|
+
if (visitParameters === void 0) { visitParameters = {}; }
|
|
3029
|
+
this.placeDefinition = placeDefinition;
|
|
3030
|
+
this.visitParameters = visitParameters;
|
|
3031
|
+
}
|
|
3032
|
+
// @Trace()
|
|
3033
|
+
Visit.prototype.getRouteId = function () {
|
|
3034
|
+
return this.placeDefinition.getRouteIdFrom(this);
|
|
3035
|
+
};
|
|
3036
|
+
// @Trace()
|
|
3037
|
+
Visit.prototype.hasRouteId = function () {
|
|
3038
|
+
return !isNil(this.getRouteId());
|
|
3039
|
+
};
|
|
3040
|
+
/**
|
|
3041
|
+
* Returns the value of the place parameter with the specified name. The parameter
|
|
3042
|
+
* name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
|
|
3043
|
+
* same as the the ValueModel property name.
|
|
3044
|
+
* @param parameterName the field name of the property model or the `as` option if specified.
|
|
3045
|
+
*/
|
|
3046
|
+
Visit.prototype.getParameter = function (parameterName) {
|
|
3047
|
+
return this.visitParameters[parameterName];
|
|
3048
|
+
};
|
|
3049
|
+
// @Trace()
|
|
3050
|
+
Visit.prototype.hasParameter = function (parameterName) {
|
|
3051
|
+
return Object.keys(this.visitParameters).includes(parameterName);
|
|
3052
|
+
};
|
|
3053
|
+
Visit.prototype.replace = function (parameter, value) {
|
|
3054
|
+
var _a;
|
|
3055
|
+
return new Visit(this.placeDefinition, __assign(__assign({}, this.visitParameters), (_a = {}, _a[parameter.name] = value, _a)));
|
|
3056
|
+
};
|
|
3057
|
+
Visit.prototype.mergeRouteParameters = function (routeParams) {
|
|
3058
|
+
var _this = this;
|
|
3059
|
+
// todo: whitelist parameters.
|
|
3060
|
+
var routeParameterKeys = Object.keys(routeParams);
|
|
3061
|
+
var params = {};
|
|
3062
|
+
this.placeDefinition.getVisitParameterDefs().forEach(function (def) {
|
|
3063
|
+
if (def.isRouteId || def.isRouteParameter) {
|
|
3064
|
+
if (routeParameterKeys.includes(def.name)) {
|
|
3065
|
+
params[def.name] = routeParams[def.name];
|
|
3066
|
+
}
|
|
3067
|
+
}
|
|
3068
|
+
else {
|
|
3069
|
+
// copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
|
|
3070
|
+
// defaults and remember sanitisation process.
|
|
3071
|
+
var value = _this.getParameter(def.name);
|
|
3072
|
+
if (_this.hasParameter(def.name)) {
|
|
3073
|
+
params[def.name] = value;
|
|
3074
|
+
}
|
|
3075
|
+
}
|
|
3076
|
+
});
|
|
3077
|
+
return new Visit(this.placeDefinition, params);
|
|
3078
|
+
};
|
|
3079
|
+
Visit.prototype.hasRoutingChangedFrom = function (other) {
|
|
3080
|
+
var samePlace = other.placeDefinition === this.placeDefinition;
|
|
3081
|
+
var sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
|
|
3082
|
+
return !samePlace || !sameRouteParameters;
|
|
3083
|
+
};
|
|
3084
|
+
Visit.prototype.hasChangedFrom = function (other) {
|
|
3085
|
+
var sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
|
|
3086
|
+
return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
|
|
3087
|
+
};
|
|
3088
|
+
Visit.prototype.toDebugString = function () {
|
|
3089
|
+
var _this = this;
|
|
3090
|
+
return Object.keys(this.visitParameters).map(function (k) { return k + "=" + _this.visitParameters[k]; }).join(",");
|
|
3091
|
+
};
|
|
3092
|
+
return Visit;
|
|
3093
|
+
}());
|
|
3094
|
+
|
|
2768
3095
|
var PlaceRouter = /** @class */ (function (_super) {
|
|
2769
3096
|
__extends(PlaceRouter, _super);
|
|
2770
3097
|
function PlaceRouter(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
|
|
@@ -2960,14 +3287,11 @@ var PlaceRouter = /** @class */ (function (_super) {
|
|
|
2960
3287
|
enumerable: true,
|
|
2961
3288
|
configurable: true
|
|
2962
3289
|
});
|
|
2963
|
-
// @Trace()
|
|
2964
3290
|
PlaceRouter.prototype.pushVisitChangesToRoute = function (previous, next) {
|
|
2965
3291
|
return __awaiter(this, void 0, void 0, function () {
|
|
2966
3292
|
var _this = this;
|
|
2967
3293
|
return __generator(this, function (_a) {
|
|
2968
|
-
|
|
2969
|
-
// when it's been cleared by the user.
|
|
2970
|
-
this.placeHistory.add(next);
|
|
3294
|
+
this.placeHistory.updateVisit(next);
|
|
2971
3295
|
// FIXME: no route id -> route id duplicates route parameters
|
|
2972
3296
|
if (next.hasRoutingChangedFrom(previous)) {
|
|
2973
3297
|
return [2 /*return*/, this.doNavigation(next, function (router) {
|
|
@@ -2989,6 +3313,9 @@ var PlaceRouter = /** @class */ (function (_super) {
|
|
|
2989
3313
|
// @Trace()
|
|
2990
3314
|
PlaceRouter.prototype.transitionTo = function (next) {
|
|
2991
3315
|
var previous = this.navigationSessionModel.value;
|
|
3316
|
+
if (!previous) {
|
|
3317
|
+
this.placeHistory.notifyNavigationStarted();
|
|
3318
|
+
}
|
|
2992
3319
|
assert.isTruthy(next !== previous);
|
|
2993
3320
|
Logger.get(this).info("### Router State Transition: " + (previous ? previous.toString() : 'null') + " -> " + next.toString());
|
|
2994
3321
|
this.navigationSessionModel.value = next;
|
|
@@ -2999,10 +3326,9 @@ var PlaceRouter = /** @class */ (function (_super) {
|
|
|
2999
3326
|
};
|
|
3000
3327
|
// @Trace()
|
|
3001
3328
|
PlaceRouter.prototype.routingSessionFinished = function (visits) {
|
|
3002
|
-
var _this = this;
|
|
3003
3329
|
if (visits && visits.length > 0) {
|
|
3004
3330
|
assert.isTruthy(this.navigationInProgress.value);
|
|
3005
|
-
|
|
3331
|
+
this.placeHistory.notifyNavigationFinished(visits);
|
|
3006
3332
|
// We update the active visits before we finish the session so the
|
|
3007
3333
|
// place outlets can ignore the incoming changes until things are
|
|
3008
3334
|
// settled. TODO: can we removed the event'ness here and just do a push?
|
|
@@ -3061,6 +3387,12 @@ var PlaceRouter = /** @class */ (function (_super) {
|
|
|
3061
3387
|
{ type: PlaceHistory }
|
|
3062
3388
|
]; };
|
|
3063
3389
|
PlaceRouter.ɵprov = ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(ɵɵinject(Router), ɵɵinject(Location), ɵɵinject(InteractionService), ɵɵinject(UrlService), ɵɵinject(PlaceHistory)); }, token: PlaceRouter, providedIn: "root" });
|
|
3390
|
+
__decorate([
|
|
3391
|
+
Trace(),
|
|
3392
|
+
__metadata("design:type", Function),
|
|
3393
|
+
__metadata("design:paramtypes", [Visit, Visit]),
|
|
3394
|
+
__metadata("design:returntype", Promise)
|
|
3395
|
+
], PlaceRouter.prototype, "pushVisitChangesToRoute", null);
|
|
3064
3396
|
PlaceRouter = __decorate([
|
|
3065
3397
|
Injectable({
|
|
3066
3398
|
providedIn: 'root'
|
|
@@ -3074,75 +3406,6 @@ var PlaceRouter = /** @class */ (function (_super) {
|
|
|
3074
3406
|
return PlaceRouter;
|
|
3075
3407
|
}(GarbageCollector));
|
|
3076
3408
|
|
|
3077
|
-
var Visit = /** @class */ (function () {
|
|
3078
|
-
function Visit(placeDefinition, visitParameters) {
|
|
3079
|
-
if (visitParameters === void 0) { visitParameters = {}; }
|
|
3080
|
-
this.placeDefinition = placeDefinition;
|
|
3081
|
-
this.visitParameters = visitParameters;
|
|
3082
|
-
}
|
|
3083
|
-
// @Trace()
|
|
3084
|
-
Visit.prototype.getRouteId = function () {
|
|
3085
|
-
return this.placeDefinition.getRouteIdFrom(this);
|
|
3086
|
-
};
|
|
3087
|
-
// @Trace()
|
|
3088
|
-
Visit.prototype.hasRouteId = function () {
|
|
3089
|
-
return !isNil(this.getRouteId());
|
|
3090
|
-
};
|
|
3091
|
-
/**
|
|
3092
|
-
* Returns the value of the place parameter with the specified name. The parameter
|
|
3093
|
-
* name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
|
|
3094
|
-
* same as the the ValueModel property name.
|
|
3095
|
-
* @param parameterName the field name of the property model or the `as` option if specified.
|
|
3096
|
-
*/
|
|
3097
|
-
Visit.prototype.getParameter = function (parameterName) {
|
|
3098
|
-
return this.visitParameters[parameterName];
|
|
3099
|
-
};
|
|
3100
|
-
// @Trace()
|
|
3101
|
-
Visit.prototype.hasParameter = function (parameterName) {
|
|
3102
|
-
return Object.keys(this.visitParameters).includes(parameterName);
|
|
3103
|
-
};
|
|
3104
|
-
Visit.prototype.replace = function (parameter, value) {
|
|
3105
|
-
var _a;
|
|
3106
|
-
return new Visit(this.placeDefinition, __assign(__assign({}, this.visitParameters), (_a = {}, _a[parameter.name] = value, _a)));
|
|
3107
|
-
};
|
|
3108
|
-
Visit.prototype.mergeRouteParameters = function (routeParams) {
|
|
3109
|
-
var _this = this;
|
|
3110
|
-
// todo: whitelist parameters.
|
|
3111
|
-
var routeParameterKeys = Object.keys(routeParams);
|
|
3112
|
-
var params = {};
|
|
3113
|
-
this.placeDefinition.getVisitParameterDefs().forEach(function (def) {
|
|
3114
|
-
if (def.isRouteId || def.isRouteParameter) {
|
|
3115
|
-
if (routeParameterKeys.includes(def.name)) {
|
|
3116
|
-
params[def.name] = routeParams[def.name];
|
|
3117
|
-
}
|
|
3118
|
-
}
|
|
3119
|
-
else {
|
|
3120
|
-
// copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
|
|
3121
|
-
// defaults and remember sanitisation process.
|
|
3122
|
-
var value = _this.getParameter(def.name);
|
|
3123
|
-
if (_this.hasParameter(def.name)) {
|
|
3124
|
-
params[def.name] = value;
|
|
3125
|
-
}
|
|
3126
|
-
}
|
|
3127
|
-
});
|
|
3128
|
-
return new Visit(this.placeDefinition, params);
|
|
3129
|
-
};
|
|
3130
|
-
Visit.prototype.hasRoutingChangedFrom = function (other) {
|
|
3131
|
-
var samePlace = other.placeDefinition === this.placeDefinition;
|
|
3132
|
-
var sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
|
|
3133
|
-
return !samePlace || !sameRouteParameters;
|
|
3134
|
-
};
|
|
3135
|
-
Visit.prototype.hasChangedFrom = function (other) {
|
|
3136
|
-
var sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
|
|
3137
|
-
return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
|
|
3138
|
-
};
|
|
3139
|
-
Visit.prototype.toDebugString = function () {
|
|
3140
|
-
var _this = this;
|
|
3141
|
-
return Object.keys(this.visitParameters).map(function (k) { return k + "=" + _this.visitParameters[k]; }).join(",");
|
|
3142
|
-
};
|
|
3143
|
-
return Visit;
|
|
3144
|
-
}());
|
|
3145
|
-
|
|
3146
3409
|
var AUP_PLACE_CONFIG = new InjectionToken('AUP_PLACE_CONFIG');
|
|
3147
3410
|
|
|
3148
3411
|
// Freezes the state of the components at the start of the animation.
|
|
@@ -3351,11 +3614,11 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
|
|
|
3351
3614
|
__metadata("design:type", Boolean)
|
|
3352
3615
|
], PlaceOutletComponent.prototype, "animate", void 0);
|
|
3353
3616
|
__decorate([
|
|
3354
|
-
Input(),
|
|
3617
|
+
Input(), TrackExternal({ defaultValue: true }),
|
|
3355
3618
|
__metadata("design:type", ValueModel)
|
|
3356
3619
|
], PlaceOutletComponent.prototype, "animateModel", void 0);
|
|
3357
3620
|
__decorate([
|
|
3358
|
-
Input('placeAnimationOrderModel'),
|
|
3621
|
+
Input('placeAnimationOrderModel'), TrackExternal(),
|
|
3359
3622
|
__metadata("design:type", ListModel)
|
|
3360
3623
|
], PlaceOutletComponent.prototype, "customPlaceAnimationOrderModel", void 0);
|
|
3361
3624
|
__decorate([
|
|
@@ -3425,7 +3688,7 @@ var AbstractPlaceNavigationComponent = /** @class */ (function (_super) {
|
|
|
3425
3688
|
__metadata("design:type", Array)
|
|
3426
3689
|
], AbstractPlaceNavigationComponent.prototype, "places", void 0);
|
|
3427
3690
|
__decorate([
|
|
3428
|
-
Input(),
|
|
3691
|
+
Input(), TrackExternal(),
|
|
3429
3692
|
__metadata("design:type", ListModel)
|
|
3430
3693
|
], AbstractPlaceNavigationComponent.prototype, "placesModel", void 0);
|
|
3431
3694
|
__decorate([
|
|
@@ -3433,7 +3696,7 @@ var AbstractPlaceNavigationComponent = /** @class */ (function (_super) {
|
|
|
3433
3696
|
__metadata("design:type", PlaceOutletComponent)
|
|
3434
3697
|
], AbstractPlaceNavigationComponent.prototype, "placeOutlet", void 0);
|
|
3435
3698
|
__decorate([
|
|
3436
|
-
Input(),
|
|
3699
|
+
Input(), TrackExternal(),
|
|
3437
3700
|
__metadata("design:type", ValueModel)
|
|
3438
3701
|
], AbstractPlaceNavigationComponent.prototype, "placeOutletModel", void 0);
|
|
3439
3702
|
__decorate([
|
|
@@ -3457,7 +3720,7 @@ var BusyOverlayComponent = /** @class */ (function () {
|
|
|
3457
3720
|
BusyOverlayComponent.prototype.ngOnInit = function () {
|
|
3458
3721
|
};
|
|
3459
3722
|
__decorate([
|
|
3460
|
-
Input(),
|
|
3723
|
+
Input(), TrackExternal(),
|
|
3461
3724
|
__metadata("design:type", ValueModel)
|
|
3462
3725
|
], BusyOverlayComponent.prototype, "busyModel", void 0);
|
|
3463
3726
|
__decorate([
|
|
@@ -3944,13 +4207,13 @@ var NoopAuthGuard = /** @class */ (function () {
|
|
|
3944
4207
|
}());
|
|
3945
4208
|
|
|
3946
4209
|
var VisitSanitiser = /** @class */ (function () {
|
|
3947
|
-
function VisitSanitiser(activatedRoute, router, placeHistory, injector) {
|
|
4210
|
+
function VisitSanitiser(navigationSession, activatedRoute, router, placeHistory, injector) {
|
|
4211
|
+
this.navigationSession = navigationSession;
|
|
3948
4212
|
this.activatedRoute = activatedRoute;
|
|
3949
4213
|
this.router = router;
|
|
3950
4214
|
this.placeHistory = placeHistory;
|
|
3951
4215
|
this.injector = injector;
|
|
3952
4216
|
}
|
|
3953
|
-
// @Trace()
|
|
3954
4217
|
VisitSanitiser.prototype.sanitise = function (visit) {
|
|
3955
4218
|
return __awaiter(this, void 0, void 0, function () {
|
|
3956
4219
|
var placeDef, routeIdDef, routeId, sanitisedValue, parameterDefs, sanitisedVisit, i, def, value, sanitisedValue;
|
|
@@ -3961,10 +4224,10 @@ var VisitSanitiser = /** @class */ (function () {
|
|
|
3961
4224
|
if (!placeDef.hasRouteId()) return [3 /*break*/, 2];
|
|
3962
4225
|
routeIdDef = placeDef.getRouteIdParameterDef();
|
|
3963
4226
|
routeId = visit.getRouteId();
|
|
3964
|
-
return [4 /*yield*/, routeIdDef.sanitise(routeId, visit, this.placeHistory, this.injector)];
|
|
4227
|
+
return [4 /*yield*/, routeIdDef.sanitise(routeId, visit, this.placeHistory, this.injector, this.navigationSession.isPopState)];
|
|
3965
4228
|
case 1:
|
|
3966
4229
|
sanitisedValue = _a.sent();
|
|
3967
|
-
|
|
4230
|
+
console.log({ routeId: routeId, sanitisedValue: sanitisedValue });
|
|
3968
4231
|
// ###------- EARLY EXIT --------###
|
|
3969
4232
|
if (routeIdDef.hasChanged(routeId, sanitisedValue)) {
|
|
3970
4233
|
// if the route id has changed we redirect immediately as other
|
|
@@ -3984,7 +4247,7 @@ var VisitSanitiser = /** @class */ (function () {
|
|
|
3984
4247
|
if (!(i < parameterDefs.length)) return [3 /*break*/, 6];
|
|
3985
4248
|
def = parameterDefs[i];
|
|
3986
4249
|
value = visit.getParameter(def.name);
|
|
3987
|
-
return [4 /*yield*/, def.sanitise(value, sanitisedVisit, this.placeHistory, this.injector)];
|
|
4250
|
+
return [4 /*yield*/, def.sanitise(value, sanitisedVisit, this.placeHistory, this.injector, this.navigationSession.isPopState)];
|
|
3988
4251
|
case 4:
|
|
3989
4252
|
sanitisedValue = _a.sent();
|
|
3990
4253
|
if (def.hasChanged(value, sanitisedValue)) {
|
|
@@ -3999,6 +4262,12 @@ var VisitSanitiser = /** @class */ (function () {
|
|
|
3999
4262
|
});
|
|
4000
4263
|
});
|
|
4001
4264
|
};
|
|
4265
|
+
__decorate([
|
|
4266
|
+
Trace(),
|
|
4267
|
+
__metadata("design:type", Function),
|
|
4268
|
+
__metadata("design:paramtypes", [Visit]),
|
|
4269
|
+
__metadata("design:returntype", Promise)
|
|
4270
|
+
], VisitSanitiser.prototype, "sanitise", null);
|
|
4002
4271
|
return VisitSanitiser;
|
|
4003
4272
|
}());
|
|
4004
4273
|
|
|
@@ -4024,19 +4293,20 @@ var PlaceGuard = /** @class */ (function () {
|
|
|
4024
4293
|
return __generator(this, function (_a) {
|
|
4025
4294
|
switch (_a.label) {
|
|
4026
4295
|
case 0: return [4 /*yield*/, this.cleanInteractionState(activatedRoute, state, function () { return __awaiter(_this, void 0, void 0, function () {
|
|
4027
|
-
var params, parsedParams, initialVisit, sanitiser, sanitisedVisit, urlSnapshot;
|
|
4296
|
+
var params, parsedParams, navigationSession, initialVisit, sanitiser, sanitisedVisit, urlSnapshot;
|
|
4028
4297
|
return __generator(this, function (_a) {
|
|
4029
4298
|
switch (_a.label) {
|
|
4030
4299
|
case 0:
|
|
4031
4300
|
params = new ConsolidatedParameterMap(activatedRoute.paramMap, activatedRoute.url);
|
|
4032
4301
|
parsedParams = placeDefinition.parseRouteParams(params);
|
|
4033
|
-
|
|
4034
|
-
|
|
4302
|
+
navigationSession = this.placeRouter.navigationSession;
|
|
4303
|
+
initialVisit = navigationSession.getVisitFor(placeDefinition) || new Visit(placeDefinition, parsedParams);
|
|
4304
|
+
sanitiser = new VisitSanitiser(navigationSession, activatedRoute, this.router, this.placeHistory, this.injector);
|
|
4035
4305
|
return [4 /*yield*/, sanitiser.sanitise(initialVisit.mergeRouteParameters(parsedParams))];
|
|
4036
4306
|
case 1:
|
|
4037
4307
|
sanitisedVisit = _a.sent();
|
|
4038
4308
|
// Save the visit with any updated parameters. We need to save it so we remember any non route parameters
|
|
4039
|
-
|
|
4309
|
+
navigationSession.storeVisit(sanitisedVisit);
|
|
4040
4310
|
if (initialVisit.hasRoutingChangedFrom(sanitisedVisit)) {
|
|
4041
4311
|
urlSnapshot = this.urlService.parseUrl(state.url).updateVisitSegments(sanitisedVisit);
|
|
4042
4312
|
// console.log('##### Place Guard Redirect', urlSnapshot);
|
|
@@ -4256,5 +4526,5 @@ function VisitParameterList(options) {
|
|
|
4256
4526
|
* Generated bundle index. Do not edit.
|
|
4257
4527
|
*/
|
|
4258
4528
|
|
|
4259
|
-
export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputComponent, AbstractInteractionContext, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, Activity, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CommandDirective, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EmptyStateComponent, EventCleanUpSession, FocusBindingDirective, Formatter, InPlaceInteractionContextComponent, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ModalInteractionContextFactory, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SelectInputComponent, StringInputComponent, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, UrlService, UrlSnapshot, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, DirectivesModule as ɵa, CommandDirective as ɵb,
|
|
4529
|
+
export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputComponent, AbstractInteractionContext, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, Activity, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CommandDirective, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EmptyStateComponent, EventCleanUpSession, FocusBindingDirective, Formatter, InPlaceInteractionContextComponent, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ModalInteractionContextFactory, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SelectInputComponent, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, UrlService, UrlSnapshot, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, DirectivesModule as ɵa, CommandDirective as ɵb, ModalInteractionContextFactory as ɵba, UrlService as ɵbb, PlaceHistory as ɵbc, TabbedPlaceNavigationComponent as ɵbd, AbstractPlaceNavigationComponent as ɵbe, ListPlaceNavComponent as ɵbf, InteractionModule as ɵbg, ActivityContainerComponent as ɵbh, AbstractInteractionContext as ɵbi, ActivityOutletComponent as ɵbj, ConfirmationDialogComponent as ɵbk, ACTIVITY_DATA as ɵbl, Activity as ɵbm, ConfirmThenDialogComponent as ɵbo, AlertDialogComponent as ɵbp, InPlaceInteractionContextComponent as ɵbr, FocusBindingDirective as ɵc, DisposableComponent as ɵd, ComponentsModule as ɵe, NumberInputComponent as ɵf, AbstractInputComponent as ɵg, StringInputComponent as ɵh, PasswordInputComponent as ɵi, SelectInputComponent as ɵj, ScrollContainerComponent as ɵk, NoopComponent as ɵl, SwitchCaseOption as ɵm, SwitchCaseWhenDirective as ɵn, SwitchCaseDefaultDirective as ɵo, SwitchCaseComponent as ɵp, PlaceModule as ɵq, EmptyStateComponent as ɵr, BusyOverlayComponent as ɵs, PlaceOutletComponent as ɵt, leftRightPlaceAnimation as ɵu, LEFT_RIGHT_PLACE_ANIMATION as ɵv, AUP_PLACE_CONFIG as ɵw, PlaceRouter as ɵy, InteractionService as ɵz };
|
|
4260
4530
|
//# sourceMappingURL=coolon-angular-ui-powerups.js.map
|