@coolon/angular-ui-powerups 0.0.57 → 0.0.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +150 -127
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +2 -2
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +4 -4
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/interaction/abstract-activity.js +25 -68
  10. package/esm2015/lib/interaction/activity.js +3 -8
  11. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +82 -26
  12. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +10 -4
  13. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  14. package/esm2015/lib/interaction/index.js +2 -2
  15. package/esm2015/lib/interaction/interaction-context.js +1 -1
  16. package/esm2015/lib/interaction/services/dialog-interaction.service.js +14 -5
  17. package/esm2015/public_api.js +2 -2
  18. package/esm5/coolon-angular-ui-powerups.js +4 -4
  19. package/esm5/index.js +2 -2
  20. package/esm5/lib/interaction/abstract-activity.js +38 -88
  21. package/esm5/lib/interaction/activity.js +3 -8
  22. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +87 -27
  23. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +10 -4
  24. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  25. package/esm5/lib/interaction/index.js +2 -2
  26. package/esm5/lib/interaction/interaction-context.js +1 -1
  27. package/esm5/lib/interaction/services/dialog-interaction.service.js +13 -5
  28. package/esm5/public_api.js +2 -2
  29. package/fesm2015/coolon-angular-ui-powerups.js +127 -107
  30. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  31. package/fesm5/coolon-angular-ui-powerups.js +145 -125
  32. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  33. package/lib/interaction/abstract-activity.d.ts +6 -8
  34. package/lib/interaction/activity.d.ts +2 -2
  35. package/lib/interaction/components/activity-container/activity-container.component.d.ts +5 -4
  36. package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +2 -2
  37. package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +1 -1
  38. package/lib/interaction/interaction-context.d.ts +1 -1
  39. package/lib/interaction/services/dialog-interaction.service.d.ts +6 -3
  40. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
- import { Inject, Injectable, Optional } from '@angular/core';
6
+ import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
7
7
  import { MatDialog } from '@angular/material';
8
8
  import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/dialog';
9
9
  import { assert } from '@coolon/typescript-utilities';
@@ -13,11 +13,14 @@ import { ConfirmationDialogComponent } from '../components/confirmation-dialog/c
13
13
  import { InteractionContext } from '../interaction-context';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@angular/material/dialog";
16
+ /** @type {?} */
17
+ export var DIALOG_INTERACTION_SERVICE_DEFAULTS = new InjectionToken('DIALOG_INTERACTION_SERVICE_DEFAULTS');
16
18
  var DialogInteractionService = /** @class */ (function (_super) {
17
19
  tslib_1.__extends(DialogInteractionService, _super);
18
- function DialogInteractionService(dialogService, matDialogDefaultConfig) {
20
+ function DialogInteractionService(dialogService, dialogServiceDefaults, matDialogDefaultConfig) {
19
21
  var _this = _super.call(this) || this;
20
22
  _this.dialogService = dialogService;
23
+ _this.dialogServiceDefaults = dialogServiceDefaults;
21
24
  _this.matDialogDefaultConfig = matDialogDefaultConfig;
22
25
  assert.notNil(dialogService);
23
26
  return _this;
@@ -57,7 +60,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
57
60
  var _this = this;
58
61
  if (disableClose === void 0) { disableClose = true; }
59
62
  /** @type {?} */
60
- var config = tslib_1.__assign({ autoFocus: false }, this.matDialogDefaultConfig, {
63
+ var config = tslib_1.__assign({ autoFocus: false, hasBackdrop: true }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
61
64
  data: data,
62
65
  disableClose: disableClose,
63
66
  panelClass: 'dialog-interaction-service'
@@ -81,6 +84,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
81
84
  * @return {?}
82
85
  */
83
86
  function (result) {
87
+ // TODO: should I be calling resolve after close?
84
88
  resolve(result);
85
89
  matDialogRef.close(result);
86
90
  },
@@ -89,6 +93,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
89
93
  * @return {?}
90
94
  */
91
95
  function (error) {
96
+ // TODO: should I be calling reject after close?
92
97
  reject(error);
93
98
  matDialogRef.close(error);
94
99
  }
@@ -126,9 +131,10 @@ var DialogInteractionService = /** @class */ (function (_super) {
126
131
  /** @nocollapse */
127
132
  DialogInteractionService.ctorParameters = function () { return [
128
133
  { type: MatDialog },
134
+ { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [DIALOG_INTERACTION_SERVICE_DEFAULTS,] }] },
129
135
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DIALOG_DEFAULT_OPTIONS,] }] }
130
136
  ]; };
131
- /** @nocollapse */ DialogInteractionService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DialogInteractionService_Factory() { return new DialogInteractionService(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(i1.MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionService, providedIn: "root" });
137
+ /** @nocollapse */ DialogInteractionService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DialogInteractionService_Factory() { return new DialogInteractionService(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(DIALOG_INTERACTION_SERVICE_DEFAULTS, 8), i0.ɵɵinject(i1.MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionService, providedIn: "root" });
132
138
  return DialogInteractionService;
133
139
  }(InteractionContext));
134
140
  export { DialogInteractionService };
@@ -139,6 +145,8 @@ if (false) {
139
145
  */
140
146
  DialogInteractionService.prototype.dialogService;
141
147
  /** @type {?} */
148
+ DialogInteractionService.prototype.dialogServiceDefaults;
149
+ /** @type {?} */
142
150
  DialogInteractionService.prototype.matDialogDefaultConfig;
143
151
  }
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFNUQ7SUFHOEMsb0RBQWtCO0lBRTlELGtDQUE2QixhQUF3QixFQUEyRCxzQkFBdUM7UUFBdkosWUFDRSxpQkFBTyxTQUVSO1FBSDRCLG1CQUFhLEdBQWIsYUFBYSxDQUFXO1FBQTJELDRCQUFzQixHQUF0QixzQkFBc0IsQ0FBaUI7UUFFckosTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQzs7SUFDL0IsQ0FBQzs7Ozs7OztJQUVELGdEQUFhOzs7Ozs7SUFBYixVQUF1QixZQUE4QyxFQUFFLElBQVE7UUFDN0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7Ozs7SUFFTyxpREFBYzs7Ozs7Ozs7SUFBdEIsVUFBZ0MsWUFBOEMsRUFBRSxJQUFPLEVBQUUsWUFBNEI7UUFBckgsaUJBNkJDO1FBN0J3Riw2QkFBQSxFQUFBLG1CQUE0Qjs7WUFDN0csTUFBTSxzQkFDVixTQUFTLEVBQUUsS0FBSyxJQUNiLElBQUksQ0FBQyxzQkFBc0IsRUFDM0I7WUFDRCxJQUFJLE1BQUE7WUFDSixZQUFZLGNBQUE7WUFDWixVQUFVLEVBQUUsNEJBQTRCO1NBQ3pDLENBQ0Y7O1lBQ0ssWUFBWSxHQUFHLG1CQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxFQUE0QztRQUM1SCxPQUFPLElBQUksT0FBTzs7Ozs7UUFBSSxVQUFDLE9BQU8sRUFBRSxNQUFNOztnQkFDOUIsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLGlCQUFpQjtZQUN4RCxpQkFBaUIsQ0FBQyx3QkFBd0IsR0FBRyxLQUFJLENBQUM7WUFDbEQsaUJBQWlCLENBQUMsVUFBVSxDQUFDO2dCQUMzQixhQUFhLEVBQUUsWUFBWTtnQkFDM0IsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLE1BQU07Ozs7MEJBQUMsTUFBTTtvQkFDWCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ2hCLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzdCLENBQUM7Z0JBQ0QsUUFBUTs7OzswQkFBQyxLQUFLO29CQUNaLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDZCxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzVCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFRCx3Q0FBSzs7OztJQUFMLFVBQU0sS0FBWTtRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Ozs7O0lBRUQsMENBQU87Ozs7SUFBUCxVQUFRLE9BQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7Z0JBbkRGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBZFEsU0FBUztnQkFDbUIsZUFBZSx1QkFnQk0sUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7OzttQ0FsQnZHO0NBa0VDLEFBckRELENBRzhDLGtCQUFrQixHQWtEL0Q7U0FsRFksd0JBQXdCOzs7Ozs7SUFFdkIsaURBQXlDOztJQUFFLDBEQUFnRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vYWxlcnQnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4uL2NvbmZpcm0nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZykge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgLi4udGhpcy5tYXREaWFsb2dEZWZhdWx0Q29uZmlnLFxuICAgICAgLi4ue1xuICAgICAgICBkYXRhLFxuICAgICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctaW50ZXJhY3Rpb24tc2VydmljZSdcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG1hdERpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LCBjb25maWcpIGFzIE1hdERpYWxvZ1JlZjxBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudD47XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgYWN0aXZpdHlDb250YWluZXIucGFyZW50SW50ZXJhY3Rpb25Db250ZXh0ID0gdGhpcztcbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxpc2Uoe1xuICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgIGFjdGl2aXR5RGF0YTogZGF0YSxcbiAgICAgICAgb25Eb25lKHJlc3VsdCkge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICBtYXREaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DYW5jZWwoZXJyb3IpIHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZShlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoQWxlcnREaWFsb2dDb21wb25lbnQsIGFsZXJ0LCBmYWxzZSk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbn1cbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUU5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUc1RCxNQUFNLEtBQU8sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDO0FBRWxJO0lBRzhDLG9EQUFrQjtJQUU5RCxrQ0FBNkIsYUFBd0IsRUFDeUIscUJBQTJDLEVBQ3BELHNCQUE0QztRQUZqSCxZQUlFLGlCQUFPLFNBRVI7UUFONEIsbUJBQWEsR0FBYixhQUFhLENBQVc7UUFDeUIsMkJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUNwRCw0QkFBc0IsR0FBdEIsc0JBQXNCLENBQXNCO1FBRy9HLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7O0lBQy9CLENBQUM7Ozs7Ozs7SUFFRCxnREFBYTs7Ozs7O0lBQWIsVUFBdUIsWUFBOEMsRUFBRSxJQUFRO1FBQzdFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Ozs7Ozs7O0lBRU8saURBQWM7Ozs7Ozs7O0lBQXRCLFVBQWdDLFlBQThDLEVBQUUsSUFBTyxFQUFFLFlBQTRCO1FBQXJILGlCQWlDQztRQWpDd0YsNkJBQUEsRUFBQSxtQkFBNEI7O1lBQzdHLE1BQU0sc0JBQ1YsU0FBUyxFQUFFLEtBQUssRUFDaEIsV0FBVyxFQUFFLElBQUksSUFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFDMUI7WUFDRCxJQUFJLE1BQUE7WUFDSixZQUFZLGNBQUE7WUFDWixVQUFVLEVBQUUsNEJBQTRCO1NBQ3pDLENBQ0Y7O1lBQ0ssWUFBWSxHQUFHLG1CQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxFQUE0QztRQUM1SCxPQUFPLElBQUksT0FBTzs7Ozs7UUFBSSxVQUFDLE9BQU8sRUFBRSxNQUFNOztnQkFDOUIsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLGlCQUFpQjtZQUN4RCxpQkFBaUIsQ0FBQyx3QkFBd0IsR0FBRyxLQUFJLENBQUM7WUFDbEQsaUJBQWlCLENBQUMsVUFBVSxDQUFDO2dCQUMzQixhQUFhLEVBQUUsWUFBWTtnQkFDM0IsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLE1BQU07Ozs7MEJBQUMsTUFBTTtvQkFDWCxpREFBaUQ7b0JBQ2pELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDaEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0IsQ0FBQztnQkFDRCxRQUFROzs7OzBCQUFDLEtBQUs7b0JBQ1osZ0RBQWdEO29CQUNoRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2QsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsQ0FBQzthQUNGLENBQUMsQ0FBQztZQUVILFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRUQsd0NBQUs7Ozs7SUFBTCxVQUFNLEtBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELDBDQUFPOzs7O0lBQVAsVUFBUSxPQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O2dCQTFERixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQWpCUSxTQUFTO2dCQUNtQixlQUFlLHVCQW9CckMsUUFBUSxZQUFJLE1BQU0sU0FBQyxtQ0FBbUM7Z0JBcEJoQyxlQUFlLHVCQXFCckMsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7OzttQ0F2QjVEO0NBNEVDLEFBNURELENBRzhDLGtCQUFrQixHQXlEL0Q7U0F6RFksd0JBQXdCOzs7Ozs7SUFFdkIsaURBQXlDOztJQUN6Qyx5REFBNkc7O0lBQzdHLDBEQUFxRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uL2FsZXJ0JztcbmltcG9ydCB7IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5cbmV4cG9ydCBjb25zdCBESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXREaWFsb2dDb25maWc8YW55Pj4oJ0RJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMpIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2VEZWZhdWx0czogTWF0RGlhbG9nQ29uZmlnPGFueT4sXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAuLi50aGlzLmRpYWxvZ1NlcnZpY2VEZWZhdWx0cyxcbiAgICAgIC4uLntcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZGlzYWJsZUNsb3NlLFxuICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLXNlcnZpY2UnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ+O1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBhY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLnBhcmVudEludGVyYWN0aW9uQ29udGV4dCA9IHRoaXM7XG4gICAgICBhY3Rpdml0eUNvbnRhaW5lci5pbml0aWFsaXNlKHtcbiAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICAvLyBUT0RPOiBzaG91bGQgSSBiZSBjYWxsaW5nIHJlc29sdmUgYWZ0ZXIgY2xvc2U/XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbChlcnJvcikge1xuICAgICAgICAgIC8vIFRPRE86IHNob3VsZCBJIGJlIGNhbGxpbmcgcmVqZWN0IGFmdGVyIGNsb3NlP1xuICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG1hdERpYWxvZ1JlZi51cGRhdGVTaXplKCk7XG4gICAgfSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgY29uZmlybSwgdHJ1ZSk7XG4gIH1cblxufVxuIl19
@@ -6,6 +6,6 @@ export { AngularUiPowerupsModule } from './lib/angular-ui-powerups.module';
6
6
  export { slideDownAndUpAnimation } from './lib/animations';
7
7
  export { DisposableComponent, ResizeAwareComponent, AbstractInputComponent, NumberInputComponent, PasswordInputComponent, SelectInputComponent, StringInputComponent, Bounds, Dimension, Point } from './lib/components';
8
8
  export { CommandDirective, FocusBindingDirective } from './lib/directives';
9
- export { AbstractActivity, ACTIVITY_DATA, INTERACTION_CONTEXT, InteractionContext, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmationDialogComponent, DialogInteractionService } from './lib/interaction';
9
+ export { AbstractActivity, ACTIVITY_DATA, INTERACTION_CONTEXT, InteractionContext, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmationDialogComponent, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from './lib/interaction';
10
10
  export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent, PlaceDefinition, PlaceHistory, PlaceRouter, Place, PlaceModule, AbstractPlaceNavigationComponent, BusyOverlayComponent, EmptyStateComponent, ListPlaceNavComponent, PlaceOutletComponent, leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION, TabbedPlaceNavigationComponent, LeavePlaceGuard, PlaceRouteGuard, RouteId, RouteParameter, RouteParameterList, ParameterDefinition, ParameterSnapshot, ParameterType, RouteParameterValue } from './lib/place';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHNNQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHdEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLDhPQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDZmQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuZ3VsYXItdWktcG93ZXJ1cHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsYWNlJztcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHNNQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHdEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLG1SQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDZmQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuZ3VsYXItdWktcG93ZXJ1cHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsYWNlJztcbiJdfQ==
@@ -5,11 +5,10 @@ import { MatDialog, MatButtonModule, MatDialogModule, MatTabsModule, MatProgress
5
5
  import { MatTabsModule as MatTabsModule$1 } from '@angular/material/tabs';
6
6
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7
7
  import { __decorate, __metadata, __awaiter } from 'tslib';
8
- import { GarbageCollector, DelegatingFormValueModel, UseDelegate, ValueModel, ListModel, StoreInListModel, assert, UnaryCommand, lang, Dsl, Logger, EventListenerList, DelegatingValueModel, MutableListModel, StoreInValueModel, Binding, MutableValueModel, Guard, OptionsHelper, ValueHolder } from '@coolon/pectin';
8
+ import { GarbageCollector, DelegatingFormValueModel, UseDelegate, ValueModel, ListModel, StoreInListModel, assert, UnaryCommand, lang, Dsl, Logger, Trace, DelegatingValueModel, MutableListModel, StoreInValueModel, Binding, MutableValueModel, Guard, OptionsHelper, ValueHolder } from '@coolon/pectin';
9
9
  import { PortalModule } from '@angular/cdk/portal';
10
- import { Deferred } from '@coolon/pectin/lib/promise/deferred.class';
11
- import { MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS, MatDialog as MatDialog$1 } from '@angular/material/dialog';
12
10
  import { assert as assert$1, Klass, Opts } from '@coolon/typescript-utilities';
11
+ import { MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS, MatDialog as MatDialog$1 } from '@angular/material/dialog';
13
12
  import { MatIconModule } from '@angular/material/icon';
14
13
  import { MatListModule } from '@angular/material/list';
15
14
  import { MatTooltipModule } from '@angular/material/tooltip';
@@ -697,15 +696,10 @@ if (false) {
697
696
  /** @type {?} */
698
697
  Activity.prototype.busy;
699
698
  /**
700
- * @param {?} callback
701
- * @return {?}
702
- */
703
- Activity.prototype.onDone = function (callback) { };
704
- /**
705
- * @param {?} callback
699
+ * @param {?} activityContext
706
700
  * @return {?}
707
701
  */
708
- Activity.prototype.onCancel = function (callback) { };
702
+ Activity.prototype.initialise = function (activityContext) { };
709
703
  }
710
704
 
711
705
  /**
@@ -764,8 +758,7 @@ class ActivityOutletComponent {
764
758
  const componentFactory = this.componentFactoryResolver.resolveComponentFactory(activityContext.activityClass);
765
759
  this.viewContainerRef.clear();
766
760
  this.activityComponentRef = this.viewContainerRef.createComponent(componentFactory, 0, injector);
767
- this.activityComponentRef.instance.onDone(activityContext.onDone);
768
- this.activityComponentRef.instance.onCancel(activityContext.onCancel);
761
+ this.activityComponentRef.instance.initialise(activityContext);
769
762
  }
770
763
  /**
771
764
  * @param {?} alert
@@ -816,6 +809,12 @@ ActivityOutletComponent.propDecorators = {
816
809
  interactionContext: [{ type: Input }],
817
810
  activityContext: [{ type: Input }]
818
811
  };
812
+ __decorate([
813
+ Trace(),
814
+ __metadata("design:type", Function),
815
+ __metadata("design:paramtypes", [Object]),
816
+ __metadata("design:returntype", void 0)
817
+ ], ActivityOutletComponent.prototype, "loadActivity", null);
819
818
  if (false) {
820
819
  /** @type {?} */
821
820
  ActivityOutletComponent.prototype.interactionContext;
@@ -896,85 +895,44 @@ if (false) {
896
895
  class AbstractActivity extends DisposableComponent {
897
896
  constructor() {
898
897
  super(...arguments);
899
- this._doneListeners = new EventListenerList();
900
- this._cancelListeners = new EventListenerList();
901
- this._finishListeners = new EventListenerList();
902
898
  this._busyModel = new DelegatingValueModel().withDefault(false);
903
899
  }
904
900
  /**
905
- * @param {?} callback
906
- * @return {?}
907
- */
908
- onDone(callback) {
909
- this._doneListeners.add(callback);
910
- }
911
- /**
912
- * @param {?} callback
901
+ * @param {?} activityContext
913
902
  * @return {?}
914
903
  */
915
- onCancel(callback) {
916
- this._cancelListeners.add(callback);
904
+ initialise(activityContext) {
905
+ assert$1.isNil(this.activityContext);
906
+ this.activityContext = activityContext;
917
907
  }
918
908
  /**
919
909
  * @param {?=} result
920
910
  * @return {?}
921
911
  */
922
912
  done(result) {
923
- return this._doneListeners
924
- .fireAndWait((/**
925
- * @param {?} l
926
- * @return {?}
927
- */
928
- l => l(result)))
929
- .finally((/**
930
- * @return {?}
931
- */
932
- () => this.finalizeAndDispose()));
913
+ return this.activityContext.onDone(result);
933
914
  }
934
915
  /**
935
916
  * @param {?=} error
936
917
  * @return {?}
937
918
  */
938
919
  cancel(error) {
939
- return this._cancelListeners
940
- .fireAndWait((/**
941
- * @param {?} l
942
- * @return {?}
943
- */
944
- l => l(error)))
945
- .finally((/**
946
- * @return {?}
947
- */
948
- () => this.finalizeAndDispose()));
920
+ this.activityContext.onCancel(error);
949
921
  }
950
- // @Trace()
951
922
  /**
952
923
  * @return {?}
953
924
  */
954
- onActivityReady() {
925
+ get data() {
926
+ return this.activityContext.activityData;
955
927
  }
928
+ // get interactionContext(): InteractionContext {
929
+ // return this.activityContext.interactionContext;
930
+ // }
931
+ // @Trace()
956
932
  /**
957
- * @private
958
933
  * @return {?}
959
934
  */
960
- finalizeAndDispose() {
961
- // this._activeModel.value = false;
962
- this._finishListeners.fire((/**
963
- * @param {?} l
964
- * @return {?}
965
- */
966
- l => l()));
967
- // this._interactionContext = null;
968
- // this._initialized = false;
969
- [
970
- this._finishListeners,
971
- this._doneListeners,
972
- this._cancelListeners
973
- ].forEach((/**
974
- * @param {?} l
975
- * @return {?}
976
- */
977
- l => l.dispose()));
935
+ onActivityReady() {
978
936
  }
979
937
  /**
980
938
  * @return {?}
@@ -996,27 +954,23 @@ class AbstractActivity extends DisposableComponent {
996
954
  return this._busyModel.value;
997
955
  }
998
956
  }
957
+ __decorate([
958
+ Trace(),
959
+ __metadata("design:type", Function),
960
+ __metadata("design:paramtypes", [Object]),
961
+ __metadata("design:returntype", void 0)
962
+ ], AbstractActivity.prototype, "initialise", null);
999
963
  if (false) {
1000
964
  /**
1001
965
  * @type {?}
1002
966
  * @private
1003
967
  */
1004
- AbstractActivity.prototype._doneListeners;
1005
- /**
1006
- * @type {?}
1007
- * @private
1008
- */
1009
- AbstractActivity.prototype._cancelListeners;
1010
- /**
1011
- * @type {?}
1012
- * @private
1013
- */
1014
- AbstractActivity.prototype._finishListeners;
968
+ AbstractActivity.prototype._busyModel;
1015
969
  /**
1016
970
  * @type {?}
1017
971
  * @private
1018
972
  */
1019
- AbstractActivity.prototype._busyModel;
973
+ AbstractActivity.prototype.activityContext;
1020
974
  }
1021
975
 
1022
976
  /**
@@ -1081,7 +1035,7 @@ class ConfirmationDialogComponent extends AbstractActivity {
1081
1035
  ConfirmationDialogComponent.decorators = [
1082
1036
  { type: Component, args: [{
1083
1037
  selector: 'angular-ui-powerups-confirmation-dialog',
1084
- 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<p matDialogActions>\n <button mat-button (click)=\"cancel()\">{{confirm.cancel()}}</button>\n <button mat-raised-button [color]=\"isDestructive() ? 'warn' : 'primary'\"\n (click)=\"done(true)\">{{confirm.ok()}}</button>\n</p>\n\n",
1038
+ 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<p matDialogActions>\n <button mat-button (click)=\"cancel()\">{{confirm.cancel()}}</button>\n <button mat-raised-button [color]=\"isDestructive() ? 'warn' : 'primary'\"\n (click)=\"done()\">{{confirm.ok()}}</button>\n</p>\n\n",
1085
1039
  styles: [":host{display:block;padding:var(--angular-ui-powerups-default-padding)}.mat-dialog-actions{justify-content:flex-end}"]
1086
1040
  }] }
1087
1041
  ];
@@ -1103,8 +1057,7 @@ class ActivityContainerComponent extends DisposableComponent {
1103
1057
  super();
1104
1058
  this.activityOutletTabs = new MutableListModel();
1105
1059
  this.obsoleteTabs = [];
1106
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1107
- this.lastActivityTab = chain(this.activityOutletTabs).last().otherwise(this.initialActivityOutlet);
1060
+ this.finished = false;
1108
1061
  }
1109
1062
  /**
1110
1063
  * @return {?}
@@ -1123,11 +1076,33 @@ class ActivityContainerComponent extends DisposableComponent {
1123
1076
  }
1124
1077
  /**
1125
1078
  * @template D, R, E
1126
- * @param {?} options
1079
+ * @param {?} initialContext
1127
1080
  * @return {?}
1128
1081
  */
1129
- initialise(options) {
1130
- this.initialActivityOutlet = Object.assign({}, options, { interactionContext: this });
1082
+ initialise(initialContext) {
1083
+ /** @type {?} */
1084
+ const self = this;
1085
+ this.initialActivityOutletContext = {
1086
+ activityClass: initialContext.activityClass,
1087
+ activityData: initialContext.activityData,
1088
+ onDone: (/**
1089
+ * @param {?} result
1090
+ * @return {?}
1091
+ */
1092
+ function (result) {
1093
+ self.finished = true;
1094
+ return initialContext.onDone(result);
1095
+ }),
1096
+ onCancel: (/**
1097
+ * @param {?} error
1098
+ * @return {?}
1099
+ */
1100
+ function (error) {
1101
+ self.finished = true;
1102
+ return initialContext.onCancel(error);
1103
+ }),
1104
+ interactionContext: this
1105
+ };
1131
1106
  }
1132
1107
  /**
1133
1108
  * @template D, R, E
@@ -1137,23 +1112,49 @@ class ActivityContainerComponent extends DisposableComponent {
1137
1112
  */
1138
1113
  startActivity(activityType, data) {
1139
1114
  /** @type {?} */
1140
- const deferred = Deferred.defer();
1141
- /** @type {?} */
1142
- const context = {
1143
- interactionContext: this,
1144
- activityClass: activityType,
1145
- activityData: data,
1146
- onDone: deferred.resolve,
1147
- onCancel: deferred.reject
1148
- };
1149
- this.activityOutletTabs.push(context);
1150
- this.tabs.selectedIndex = this.activityOutletTabs.length;
1151
- return deferred.promise.finally((/**
1115
+ const self = this;
1116
+ return new Promise((/**
1117
+ * @param {?} resolve
1118
+ * @param {?} reject
1152
1119
  * @return {?}
1153
1120
  */
1154
- () => {
1155
- this.obsoleteTabs.push(context);
1156
- this.tabs.selectedIndex = this.activityOutletTabs.length - 1;
1121
+ (resolve, reject) => {
1122
+ /** @type {?} */
1123
+ const context = {
1124
+ interactionContext: self,
1125
+ activityClass: activityType,
1126
+ activityData: data,
1127
+ onDone: (/**
1128
+ * @param {?} result
1129
+ * @return {?}
1130
+ */
1131
+ function (result) {
1132
+ self.obsoleteTabs.push(context);
1133
+ // animating on the next tick gives chained done's a chance to
1134
+ // finished before we start an animations
1135
+ resolve(result);
1136
+ setTimeout((/**
1137
+ * @return {?}
1138
+ */
1139
+ () => self.animateTabs()));
1140
+ }),
1141
+ onCancel: (/**
1142
+ * @param {?} error
1143
+ * @return {?}
1144
+ */
1145
+ function (error) {
1146
+ self.obsoleteTabs.push(context);
1147
+ // finished before we start an animations
1148
+ reject(error);
1149
+ // animating on the next tick gives chained done's a chance to complete before we animate
1150
+ setTimeout((/**
1151
+ * @return {?}
1152
+ */
1153
+ () => self.animateTabs()));
1154
+ })
1155
+ };
1156
+ self.activityOutletTabs.push(context);
1157
+ self.tabs.selectedIndex = this.activityOutletTabs.length;
1157
1158
  }));
1158
1159
  }
1159
1160
  /**
@@ -1182,13 +1183,23 @@ class ActivityContainerComponent extends DisposableComponent {
1182
1183
  tab => {
1183
1184
  return !this.obsoleteTabs.includes(tab);
1184
1185
  }));
1186
+ this.obsoleteTabs = [];
1185
1187
  this.outlets.toArray()[this.tabs.selectedIndex].notifyReady();
1186
1188
  }
1189
+ /**
1190
+ * @private
1191
+ * @return {?}
1192
+ */
1193
+ animateTabs() {
1194
+ if (!this.finished) {
1195
+ this.tabs.selectedIndex = this.activityOutletTabs.length - this.obsoleteTabs.length;
1196
+ }
1197
+ }
1187
1198
  }
1188
1199
  ActivityContainerComponent.decorators = [
1189
1200
  { type: Component, args: [{
1190
1201
  selector: 'angular-ui-powerups-activity-container',
1191
- template: "<mat-tab-group #tabs no-tab-header [dynamicHeight]=\"true\">\n <mat-tab>\n <angular-ui-powerups-activity-outlet [interactionContext]=\"this\"\n [activityContext]=\"initialActivityOutlet\"></angular-ui-powerups-activity-outlet>\n </mat-tab>\n <mat-tab *ngFor=\"let tab of activityOutletTabs.value\">\n <angular-ui-powerups-activity-outlet [interactionContext]=\"this\"\n [activityContext]=\"tab\"></angular-ui-powerups-activity-outlet>\n </mat-tab>\n</mat-tab-group>\n",
1202
+ template: "<mat-tab-group #tabs no-tab-header [dynamicHeight]=\"true\">\n <mat-tab>\n <angular-ui-powerups-activity-outlet [interactionContext]=\"this\"\n [activityContext]=\"initialActivityOutletContext\"></angular-ui-powerups-activity-outlet>\n </mat-tab>\n <mat-tab *ngFor=\"let tab of activityOutletTabs.value\">\n <angular-ui-powerups-activity-outlet [interactionContext]=\"this\"\n [activityContext]=\"tab\"></angular-ui-powerups-activity-outlet>\n </mat-tab>\n</mat-tab-group>\n",
1192
1203
  styles: [":host{display:block}"]
1193
1204
  }] }
1194
1205
  ];
@@ -1196,7 +1207,7 @@ ActivityContainerComponent.decorators = [
1196
1207
  ActivityContainerComponent.ctorParameters = () => [];
1197
1208
  ActivityContainerComponent.propDecorators = {
1198
1209
  parentInteractionContext: [{ type: Input }],
1199
- initialActivityOutlet: [{ type: Input }],
1210
+ initialActivityOutletContext: [{ type: Input }],
1200
1211
  tabs: [{ type: ViewChild, args: ['tabs', { static: true },] }],
1201
1212
  outlets: [{ type: ViewChildren, args: [ActivityOutletComponent,] }]
1202
1213
  };
@@ -1204,7 +1215,7 @@ if (false) {
1204
1215
  /** @type {?} */
1205
1216
  ActivityContainerComponent.prototype.parentInteractionContext;
1206
1217
  /** @type {?} */
1207
- ActivityContainerComponent.prototype.initialActivityOutlet;
1218
+ ActivityContainerComponent.prototype.initialActivityOutletContext;
1208
1219
  /** @type {?} */
1209
1220
  ActivityContainerComponent.prototype.tabs;
1210
1221
  /** @type {?} */
@@ -1220,7 +1231,7 @@ if (false) {
1220
1231
  * @type {?}
1221
1232
  * @private
1222
1233
  */
1223
- ActivityContainerComponent.prototype.lastActivityTab;
1234
+ ActivityContainerComponent.prototype.finished;
1224
1235
  }
1225
1236
  (function (ActivityContainerComponent) {
1226
1237
  /**
@@ -1245,14 +1256,18 @@ if (false) {
1245
1256
  * @fileoverview added by tsickle
1246
1257
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1247
1258
  */
1259
+ /** @type {?} */
1260
+ const DIALOG_INTERACTION_SERVICE_DEFAULTS = new InjectionToken('DIALOG_INTERACTION_SERVICE_DEFAULTS');
1248
1261
  class DialogInteractionService extends InteractionContext {
1249
1262
  /**
1250
1263
  * @param {?} dialogService
1264
+ * @param {?} dialogServiceDefaults
1251
1265
  * @param {?} matDialogDefaultConfig
1252
1266
  */
1253
- constructor(dialogService, matDialogDefaultConfig) {
1267
+ constructor(dialogService, dialogServiceDefaults, matDialogDefaultConfig) {
1254
1268
  super();
1255
1269
  this.dialogService = dialogService;
1270
+ this.dialogServiceDefaults = dialogServiceDefaults;
1256
1271
  this.matDialogDefaultConfig = matDialogDefaultConfig;
1257
1272
  assert$1.notNil(dialogService);
1258
1273
  }
@@ -1275,7 +1290,7 @@ class DialogInteractionService extends InteractionContext {
1275
1290
  */
1276
1291
  _startActivity(activityType, data, disableClose = true) {
1277
1292
  /** @type {?} */
1278
- const config = Object.assign({ autoFocus: false }, this.matDialogDefaultConfig, {
1293
+ const config = Object.assign({ autoFocus: false, hasBackdrop: true }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
1279
1294
  data,
1280
1295
  disableClose,
1281
1296
  panelClass: 'dialog-interaction-service'
@@ -1299,6 +1314,7 @@ class DialogInteractionService extends InteractionContext {
1299
1314
  * @return {?}
1300
1315
  */
1301
1316
  onDone(result) {
1317
+ // TODO: should I be calling resolve after close?
1302
1318
  resolve(result);
1303
1319
  matDialogRef.close(result);
1304
1320
  },
@@ -1307,6 +1323,7 @@ class DialogInteractionService extends InteractionContext {
1307
1323
  * @return {?}
1308
1324
  */
1309
1325
  onCancel(error) {
1326
+ // TODO: should I be calling reject after close?
1310
1327
  reject(error);
1311
1328
  matDialogRef.close(error);
1312
1329
  }
@@ -1337,9 +1354,10 @@ DialogInteractionService.decorators = [
1337
1354
  /** @nocollapse */
1338
1355
  DialogInteractionService.ctorParameters = () => [
1339
1356
  { type: MatDialog },
1357
+ { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [DIALOG_INTERACTION_SERVICE_DEFAULTS,] }] },
1340
1358
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DIALOG_DEFAULT_OPTIONS,] }] }
1341
1359
  ];
1342
- /** @nocollapse */ DialogInteractionService.ngInjectableDef = ɵɵdefineInjectable({ factory: function DialogInteractionService_Factory() { return new DialogInteractionService(ɵɵinject(MatDialog$1), ɵɵinject(MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionService, providedIn: "root" });
1360
+ /** @nocollapse */ DialogInteractionService.ngInjectableDef = ɵɵdefineInjectable({ factory: function DialogInteractionService_Factory() { return new DialogInteractionService(ɵɵinject(MatDialog$1), ɵɵinject(DIALOG_INTERACTION_SERVICE_DEFAULTS, 8), ɵɵinject(MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionService, providedIn: "root" });
1343
1361
  if (false) {
1344
1362
  /**
1345
1363
  * @type {?}
@@ -1347,6 +1365,8 @@ if (false) {
1347
1365
  */
1348
1366
  DialogInteractionService.prototype.dialogService;
1349
1367
  /** @type {?} */
1368
+ DialogInteractionService.prototype.dialogServiceDefaults;
1369
+ /** @type {?} */
1350
1370
  DialogInteractionService.prototype.matDialogDefaultConfig;
1351
1371
  }
1352
1372
 
@@ -3878,5 +3898,5 @@ var ParameterType;
3878
3898
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3879
3899
  */
3880
3900
 
3881
- export { ACTIVITY_DATA, AbstractActivity, AbstractInputComponent, AbstractPlaceNavigationComponent, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CommandDirective, ConfirmationDialogComponent, DEFINITION_META_DATA_KEY, DialogInteractionService, Dimension, DisposableComponent, EmptyStateComponent, FocusBindingDirective, INTERACTION_CONTEXT, InteractionContext, InteractionModule, LEFT_RIGHT_PLACE_ANIMATION, LeavePlaceGuard, ListPlaceNavComponent, NumberInputComponent, ParameterDefinition, ParameterSnapshot, ParameterType, PasswordInputComponent, Place, PlaceComponent, PlaceDefinition, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouteGuard, PlaceRouter, Point, ROUTE_PARAMETER_LIST_KEY, ResizeAwareComponent, RouteId, RouteParameter, RouteParameterList, RouteParameterValue, SelectInputComponent, StringInputComponent, TabbedPlaceNavigationComponent, leftRightPlaceAnimation, slideDownAndUpAnimation, CommandDirective as ɵa, FocusBindingDirective as ɵb, AlertDialogComponent as ɵba, DialogInteractionService as ɵbc, InteractionContext as ɵbd, 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, leftRightPlaceAnimation as ɵm, LEFT_RIGHT_PLACE_ANIMATION as ɵn, PlaceRouter as ɵo, PlaceHistory as ɵp, TabbedPlaceNavigationComponent as ɵq, AbstractPlaceNavigationComponent as ɵr, ListPlaceNavComponent as ɵs, InteractionModule as ɵt, ActivityContainerComponent as ɵu, ActivityOutletComponent as ɵv, ConfirmationDialogComponent as ɵw, AbstractActivity as ɵx, ACTIVITY_DATA as ɵy };
3901
+ export { ACTIVITY_DATA, AbstractActivity, AbstractInputComponent, AbstractPlaceNavigationComponent, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CommandDirective, ConfirmationDialogComponent, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService, Dimension, DisposableComponent, EmptyStateComponent, FocusBindingDirective, INTERACTION_CONTEXT, InteractionContext, InteractionModule, LEFT_RIGHT_PLACE_ANIMATION, LeavePlaceGuard, ListPlaceNavComponent, NumberInputComponent, ParameterDefinition, ParameterSnapshot, ParameterType, PasswordInputComponent, Place, PlaceComponent, PlaceDefinition, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouteGuard, PlaceRouter, Point, ROUTE_PARAMETER_LIST_KEY, ResizeAwareComponent, RouteId, RouteParameter, RouteParameterList, RouteParameterValue, SelectInputComponent, StringInputComponent, TabbedPlaceNavigationComponent, leftRightPlaceAnimation, slideDownAndUpAnimation, CommandDirective as ɵa, FocusBindingDirective as ɵb, AlertDialogComponent as ɵba, DIALOG_INTERACTION_SERVICE_DEFAULTS as ɵbc, DialogInteractionService as ɵbd, InteractionContext as ɵbe, 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, leftRightPlaceAnimation as ɵm, LEFT_RIGHT_PLACE_ANIMATION as ɵn, PlaceRouter as ɵo, PlaceHistory as ɵp, TabbedPlaceNavigationComponent as ɵq, AbstractPlaceNavigationComponent as ɵr, ListPlaceNavComponent as ɵs, InteractionModule as ɵt, ActivityContainerComponent as ɵu, ActivityOutletComponent as ɵv, ConfirmationDialogComponent as ɵw, AbstractActivity as ɵx, ACTIVITY_DATA as ɵy };
3882
3902
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map