@coolon/angular-ui-powerups 0.0.96 → 0.0.97

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 (93) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +3099 -2285
  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 +17 -20
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +17 -20
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +15 -51
  10. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +15 -47
  11. package/esm2015/lib/interaction/index.js +4 -2
  12. package/esm2015/lib/interaction/interaction-context-base.js +158 -0
  13. package/esm2015/lib/interaction/interaction-context.js +58 -78
  14. package/esm2015/lib/interaction/interaction.module.js +1 -1
  15. package/esm2015/lib/interaction/services/dialog-interaction-context.js +163 -0
  16. package/esm2015/lib/interaction/services/dialog-interaction.service.js +68 -181
  17. package/esm2015/lib/interaction/services/modal-interaction.service.js +109 -0
  18. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +9 -43
  19. package/esm2015/lib/place/guards/abstract-place.guard.js +165 -0
  20. package/esm2015/lib/place/guards/consolidated-param-map.js +133 -0
  21. package/esm2015/lib/place/guards/interaction.guard.js +113 -0
  22. package/esm2015/lib/place/guards/navigation-session.js +590 -0
  23. package/esm2015/lib/place/guards/place-component-deactivation-handler.js +110 -0
  24. package/esm2015/lib/place/index.js +7 -5
  25. package/esm2015/lib/place/place-component.js +1 -1
  26. package/esm2015/lib/place/place-router.js +205 -236
  27. package/esm2015/lib/place/place.module.js +2 -4
  28. package/esm2015/lib/place/route/visit-sanitiser.js +2 -2
  29. package/esm2015/lib/place/url-snapshot.js +96 -0
  30. package/esm2015/public_api.js +3 -3
  31. package/esm5/coolon-angular-ui-powerups.js +17 -20
  32. package/esm5/index.js +2 -2
  33. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +22 -73
  34. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +25 -76
  35. package/esm5/lib/interaction/index.js +4 -2
  36. package/esm5/lib/interaction/interaction-context-base.js +211 -0
  37. package/esm5/lib/interaction/interaction-context.js +72 -94
  38. package/esm5/lib/interaction/interaction.module.js +1 -1
  39. package/esm5/lib/interaction/services/dialog-interaction-context.js +188 -0
  40. package/esm5/lib/interaction/services/dialog-interaction.service.js +83 -232
  41. package/esm5/lib/interaction/services/modal-interaction.service.js +153 -0
  42. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +9 -43
  43. package/esm5/lib/place/guards/abstract-place.guard.js +212 -0
  44. package/esm5/lib/place/guards/consolidated-param-map.js +161 -0
  45. package/esm5/lib/place/guards/interaction.guard.js +125 -0
  46. package/esm5/lib/place/guards/navigation-session.js +741 -0
  47. package/esm5/lib/place/guards/place-component-deactivation-handler.js +138 -0
  48. package/esm5/lib/place/index.js +7 -5
  49. package/esm5/lib/place/place-component.js +1 -1
  50. package/esm5/lib/place/place-router.js +324 -295
  51. package/esm5/lib/place/place.module.js +2 -4
  52. package/esm5/lib/place/route/visit-sanitiser.js +2 -2
  53. package/esm5/lib/place/url-snapshot.js +120 -0
  54. package/esm5/public_api.js +3 -3
  55. package/fesm2015/coolon-angular-ui-powerups.js +2244 -1654
  56. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  57. package/fesm5/coolon-angular-ui-powerups.js +3220 -2407
  58. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  59. package/lib/interaction/components/activity-container/activity-container.component.d.ts +5 -10
  60. package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +4 -9
  61. package/lib/interaction/index.d.ts +3 -1
  62. package/lib/interaction/interaction-context-base.d.ts +27 -0
  63. package/lib/interaction/interaction-context.d.ts +18 -15
  64. package/lib/interaction/services/dialog-interaction-context.d.ts +18 -0
  65. package/lib/interaction/services/dialog-interaction.service.d.ts +14 -23
  66. package/lib/interaction/services/modal-interaction.service.d.ts +15 -0
  67. package/lib/place/components/place-outlet/place-outlet.component.d.ts +1 -4
  68. package/lib/place/guards/abstract-place.guard.d.ts +19 -0
  69. package/lib/place/guards/consolidated-param-map.d.ts +14 -0
  70. package/lib/{interaction/guards/interaction-guard.service.d.ts → place/guards/interaction.guard.d.ts} +8 -4
  71. package/lib/place/guards/navigation-session.d.ts +96 -0
  72. package/lib/place/guards/place-component-deactivation-handler.d.ts +14 -0
  73. package/lib/place/index.d.ts +6 -4
  74. package/lib/place/place-component.d.ts +1 -1
  75. package/lib/place/place-router.d.ts +23 -31
  76. package/lib/place/url-snapshot.d.ts +16 -0
  77. package/package.json +1 -1
  78. package/schematics/place-routes/place-def.js +2 -2
  79. package/schematics/place-routes/templates/place-routes.ts.template +9 -16
  80. package/esm2015/lib/interaction/guards/interaction-guard.service.js +0 -85
  81. package/esm2015/lib/place/guards/abstract-enter-place.guard.js +0 -315
  82. package/esm2015/lib/place/guards/leave-place.guard.js +0 -47
  83. package/esm2015/lib/place/navigation-session.js +0 -279
  84. package/esm2015/lib/place/places/noop-gateway-place.component.js +0 -58
  85. package/esm5/lib/interaction/guards/interaction-guard.service.js +0 -94
  86. package/esm5/lib/place/guards/abstract-enter-place.guard.js +0 -387
  87. package/esm5/lib/place/guards/leave-place.guard.js +0 -55
  88. package/esm5/lib/place/navigation-session.js +0 -353
  89. package/esm5/lib/place/places/noop-gateway-place.component.js +0 -61
  90. package/lib/place/guards/abstract-enter-place.guard.d.ts +0 -33
  91. package/lib/place/guards/leave-place.guard.d.ts +0 -8
  92. package/lib/place/navigation-session.d.ts +0 -43
  93. package/lib/place/places/noop-gateway-place.component.d.ts +0 -10
@@ -4,18 +4,19 @@
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Component, ViewChild } from '@angular/core';
7
- import { InteractionContext } from '../../interaction-context';
7
+ import { DelegatingValueModel, Dsl } from '@coolon/pectin';
8
+ import { InteractionContextBase } from '../../interaction-context-base';
8
9
  import { ActivityContainerComponent } from '../activity-container/activity-container.component';
9
- import { AlertDialogComponent } from '../alert-dialog/alert-dialog.component';
10
- import { ConfirmThenDialogComponent } from '../confirm-then-dialog/confirm-then-dialog.component';
11
- import { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';
12
10
  /**
13
11
  * @template D, R, E
14
12
  */
15
13
  var InplaceInteractionContextComponent = /** @class */ (function (_super) {
16
14
  tslib_1.__extends(InplaceInteractionContextComponent, _super);
17
15
  function InplaceInteractionContextComponent() {
18
- return _super.call(this) || this;
16
+ var _this = _super.call(this) || this;
17
+ _this._active = new DelegatingValueModel().withDefault(false);
18
+ var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
19
+ return _this;
19
20
  }
20
21
  /**
21
22
  * @return {?}
@@ -25,75 +26,18 @@ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
25
26
  */
26
27
  function () {
27
28
  this.setActivityList(this.interactionContext.activityList);
29
+ this._active.setDelegate(this.interactionContext.active);
28
30
  };
29
- /**
30
- * @return {?}
31
- */
32
- InplaceInteractionContextComponent.prototype.isActive = /**
33
- * @return {?}
34
- */
35
- function () {
36
- return this.interactionContext.isActive();
37
- };
38
- /**
39
- * @param {?} alert
40
- * @return {?}
41
- */
42
- InplaceInteractionContextComponent.prototype.alert = /**
43
- * @param {?} alert
44
- * @return {?}
45
- */
46
- function (alert) {
47
- // TODO: Test disableClose === false
48
- return this._startActivity(AlertDialogComponent, alert);
49
- };
50
- /**
51
- * @param {?} confirm
52
- * @return {?}
53
- */
54
- InplaceInteractionContextComponent.prototype.confirmOrReject = /**
55
- * @param {?} confirm
56
- * @return {?}
57
- */
58
- function (confirm) {
59
- return this._startActivity(ConfirmationDialogComponent, confirm);
60
- };
61
- /**
62
- * @template D1, R1, E1
63
- * @param {?} confirm
64
- * @param {?} activityType
65
- * @param {?=} data
66
- * @return {?}
67
- */
68
- InplaceInteractionContextComponent.prototype.confirmThen = /**
69
- * @template D1, R1, E1
70
- * @param {?} confirm
71
- * @param {?} activityType
72
- * @param {?=} data
73
- * @return {?}
74
- */
75
- function (confirm, activityType, data) {
76
- return this._startActivity(ConfirmThenDialogComponent, {
77
- confirm: confirm,
78
- activityType: activityType,
79
- data: data
80
- });
81
- };
82
- /**
83
- * @template D1, R1, E1
84
- * @param {?} activityType
85
- * @param {?=} data
86
- * @return {?}
87
- */
88
- InplaceInteractionContextComponent.prototype.startActivity = /**
89
- * @template D1, R1, E1
90
- * @param {?} activityType
91
- * @param {?=} data
92
- * @return {?}
93
- */
94
- function (activityType, data) {
95
- return this._startActivity(activityType, data);
96
- };
31
+ Object.defineProperty(InplaceInteractionContextComponent.prototype, "active", {
32
+ get: /**
33
+ * @return {?}
34
+ */
35
+ function () {
36
+ return this._active.readonly;
37
+ },
38
+ enumerable: true,
39
+ configurable: true
40
+ });
97
41
  /**
98
42
  * @protected
99
43
  * @template D1, R1, E1
@@ -148,15 +92,20 @@ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
148
92
  /** @nocollapse */
149
93
  InplaceInteractionContextComponent.ctorParameters = function () { return []; };
150
94
  InplaceInteractionContextComponent.propDecorators = {
151
- interactionContext: [{ type: ViewChild, args: ["activityContainer", { static: true },] }]
95
+ interactionContext: [{ type: ViewChild, args: ['activityContainer', { static: true },] }]
152
96
  };
153
97
  return InplaceInteractionContextComponent;
154
- }(InteractionContext));
98
+ }(InteractionContextBase));
155
99
  export { InplaceInteractionContextComponent };
156
100
  if (false) {
157
101
  /** @type {?} */
158
102
  InplaceInteractionContextComponent.prototype.interactionContext;
159
103
  /** @type {?} */
160
104
  InplaceInteractionContextComponent.prototype.initialActivityContext;
105
+ /**
106
+ * @type {?}
107
+ * @private
108
+ */
109
+ InplaceInteractionContextComponent.prototype._active;
161
110
  }
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQTRCLFNBQVMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFNNUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFHaEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7QUFFbkc7SUFLaUUsOERBQWtCO0lBT2pGO2VBQ0UsaUJBQU87SUFDVCxDQUFDOzs7O0lBRUQsNERBQWU7OztJQUFmO1FBQ0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7OztJQUVELHFEQUFROzs7SUFBUjtRQUNFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVDLENBQUM7Ozs7O0lBRUQsa0RBQUs7Ozs7SUFBTCxVQUFNLEtBQVk7UUFDaEIsb0NBQW9DO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDOzs7OztJQUVELDREQUFlOzs7O0lBQWYsVUFBZ0IsT0FBZ0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25FLENBQUM7Ozs7Ozs7O0lBRUQsd0RBQVc7Ozs7Ozs7SUFBWCxVQUF3QixPQUFnQixFQUFFLFlBQWlELEVBQUUsSUFBUztRQUNwRyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQXNELDBCQUEwQixFQUFFO1lBQzFHLE9BQU8sU0FBQTtZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7OztJQUVELDBEQUFhOzs7Ozs7SUFBYixVQUEwQixZQUFpRCxFQUFFLElBQVM7UUFDcEYsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7OztJQUVTLDJEQUFjOzs7Ozs7O0lBQXhCLFVBQXFDLFlBQWlELEVBQUUsSUFBUztRQUFqRyxpQkFjQzs7WUFiTyxJQUFJLEdBQUcsSUFBSTtRQUNqQixPQUFPLElBQUksT0FBTzs7Ozs7UUFBSyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ3JDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsR0FBRztnQkFDckQsYUFBYSxFQUFFLFlBQVk7Z0JBQzNCLFlBQVksRUFBRSxJQUFJO2dCQUNsQixNQUFNOzs7OzBCQUFDLE1BQU07b0JBQ1gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQixDQUFDO2dCQUNELFFBQVE7Ozs7MEJBQUMsS0FBSztvQkFDWixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkEzREYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLGdjQUEyRDs7aUJBRTVEOzs7OztxQ0FHRSxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDOztJQXNEaEQseUNBQUM7Q0FBQSxBQTdERCxDQUtpRSxrQkFBa0IsR0F3RGxGO1NBeERZLGtDQUFrQzs7O0lBRTdDLGdFQUM4RDs7SUFFOUQsb0VBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEZWxlZ2F0aW5nTGlzdE1vZGVsLCBEc2wsIE11dGFibGVMaXN0TW9kZWwsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uLy4uL2FsZXJ0JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi8uLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbnRleHQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWlucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQFZpZXdDaGlsZChcImFjdGl2aXR5Q29udGFpbmVyXCIsIHtzdGF0aWM6IHRydWV9KVxuICBpbnRlcmFjdGlvbkNvbnRleHQ6IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PGFueSwgYW55LCBhbnk+O1xuXG4gIGluaXRpYWxBY3Rpdml0eUNvbnRleHQ6IEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELFIsRT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEFjdGl2aXR5TGlzdCh0aGlzLmludGVyYWN0aW9uQ29udGV4dC5hY3Rpdml0eUxpc3QpO1xuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKCk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBUT0RPOiBUZXN0IGRpc2FibGVDbG9zZSA9PT0gZmFsc2VcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQpO1xuICB9XG5cbiAgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0pO1xuICB9XG5cbiAgY29uZmlybVRoZW48RDEsIFIxLCBFMT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RDEsIFIxLCBFMT4sIFIxLCBFMT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3N0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSMT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBaUIsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7QUFHaEc7SUFLaUUsOERBQXNCO0lBU3JGO1FBQUEsWUFDRSxpQkFBTyxTQUVSO1FBTE8sYUFBTyxHQUFHLElBQUksb0JBQW9CLEVBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFJakUsSUFBQSwyQkFBa0YsRUFBaEYsZ0JBQUssRUFBRSxvQkFBTyxFQUFFLGtCQUFNLEVBQUUsY0FBSSxFQUFFLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxzQkFBa0M7O0lBQzFGLENBQUM7Ozs7SUFFRCw0REFBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELHNCQUFJLHNEQUFNOzs7O1FBQVY7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQy9CLENBQUM7OztPQUFBOzs7Ozs7OztJQUVTLDJEQUFjOzs7Ozs7O0lBQXhCLFVBQXFDLFlBQWlELEVBQUUsSUFBUztRQUFqRyxpQkFjQzs7WUFiTyxJQUFJLEdBQUcsSUFBSTtRQUNqQixPQUFPLElBQUksT0FBTzs7Ozs7UUFBSyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ3JDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsR0FBRztnQkFDckQsYUFBYSxFQUFFLFlBQVk7Z0JBQzNCLFlBQVksRUFBRSxJQUFJO2dCQUNsQixNQUFNOzs7OzBCQUFDLE1BQU07b0JBQ1gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQixDQUFDO2dCQUNELFFBQVE7Ozs7MEJBQUMsS0FBSztvQkFDWixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkExQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLGdjQUEyRDs7aUJBRTVEOzs7OztxQ0FHRSxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztJQXFDbEQseUNBQUM7Q0FBQSxBQTVDRCxDQUtpRSxzQkFBc0IsR0F1Q3RGO1NBdkNZLGtDQUFrQzs7O0lBRTdDLGdFQUM4RDs7SUFFOUQsb0VBQXVEOzs7OztJQUV2RCxxREFBeUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsIERzbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQtYmFzZSc7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGl2aXR5T3V0bGV0Q29udGV4dCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5wbGFjZUludGVyYWN0aW9uQ29udGV4dENvbXBvbmVudDxELCBSLCBFPiBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dEJhc2UgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICBAVmlld0NoaWxkKCdhY3Rpdml0eUNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGludGVyYWN0aW9uQ29udGV4dDogQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8YW55LCBhbnksIGFueT47XG5cbiAgaW5pdGlhbEFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+O1xuXG4gIHByaXZhdGUgX2FjdGl2ZSA9IG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBY3Rpdml0eUxpc3QodGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuYWN0aXZpdHlMaXN0KTtcbiAgICB0aGlzLl9hY3RpdmUuc2V0RGVsZWdhdGUodGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuYWN0aXZlKTtcbiAgfVxuXG4gIGdldCBhY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZS5yZWFkb25seTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFIxPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmludGVyYWN0aW9uQ29udGV4dC5pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0ge1xuICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgIGFjdGl2aXR5RGF0YTogZGF0YSxcbiAgICAgICAgb25Eb25lKHJlc3VsdCkge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DYW5jZWwoZXJyb3IpIHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
@@ -9,6 +9,7 @@ export { AbstractActivity } from "./abstract-activity";
9
9
  export { ACTIVITY_DATA, Activity } from "./activity";
10
10
  export {} from "./alert";
11
11
  export {} from "./confirm";
12
+ export { InteractionContextBase } from "./interaction-context-base";
12
13
  export { InteractionContext } from "./interaction-context";
13
14
  export { InteractionModule } from "./interaction.module";
14
15
  export {} from "./result";
@@ -20,6 +21,7 @@ export { ConfirmThenDialogComponent } from "./components/confirm-then-dialog/con
20
21
  export { ConfirmationDialogComponent } from "./components/confirmation-dialog/confirmation-dialog.component";
21
22
  export { InplaceInteractionContextComponent } from "./components/inplace-interaction-context/inplace-interaction-context.component";
22
23
  export { InteractionOutletComponent } from "./components/interaction-outlet/interaction-outlet.component";
23
- export { InteractionGuard } from "./guards/interaction-guard.service";
24
+ export { DialogInteractionContext } from "./services/dialog-interaction-context";
24
25
  export { DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from "./services/dialog-interaction.service";
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLHdDQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQixtQ0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLG1EQUFjLGdGQUFnRixDQUFDO0FBQy9GLDJDQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGlDQUFjLG9DQUFvQyxDQUFDO0FBQ25ELDhFQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQvaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9pbnRlcmFjdGlvbi1vdXRsZXQvaW50ZXJhY3Rpb24tb3V0bGV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2ludGVyYWN0aW9uLWd1YXJkLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2VzL2RpYWxvZy1pbnRlcmFjdGlvbi5zZXJ2aWNlXCI7XG4iXX0=
26
+ export { ModalInteractionService } from "./services/modal-interaction.service";
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLHdDQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQix1Q0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxtQ0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLG1EQUFjLGdGQUFnRixDQUFDO0FBQy9GLDJDQUFjLDhEQUE4RCxDQUFDO0FBQzdFLHlDQUFjLHVDQUF1QyxDQUFDO0FBQ3RELDhFQUFjLHVDQUF1QyxDQUFDO0FBQ3RELHdDQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRlcmFjdGlvbi1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRlcmFjdGlvbi5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jlc3VsdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2ludGVyYWN0aW9uLW91dGxldC9pbnRlcmFjdGlvbi1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlcy9kaWFsb2ctaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2VzL21vZGFsLWludGVyYWN0aW9uLnNlcnZpY2VcIjtcbiJdfQ==
@@ -0,0 +1,211 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { Deferred, DelegatingListModel, Dsl } from '@coolon/pectin';
7
+ import * as _ from 'lodash';
8
+ import { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';
9
+ import { ConfirmThenDialogComponent } from './components/confirm-then-dialog/confirm-then-dialog.component';
10
+ import { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';
11
+ import { InteractionContext } from './interaction-context';
12
+ /**
13
+ * @abstract
14
+ */
15
+ var /**
16
+ * @abstract
17
+ */
18
+ InteractionContextBase = /** @class */ (function (_super) {
19
+ tslib_1.__extends(InteractionContextBase, _super);
20
+ function InteractionContextBase() {
21
+ var _this = _super.call(this) || this;
22
+ /**
23
+ * Returns the current list of activities that are in progress.
24
+ * This model is only updated in the next tick after the view has been updated.
25
+ */
26
+ _this._activityListDelegate = new DelegatingListModel();
27
+ var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
28
+ when.listOf(_this.activityList).becomesPopulated((/**
29
+ * @param {?} activities
30
+ * @return {?}
31
+ */
32
+ function (activities) {
33
+ if (_this.deferredGetCurrentActivity) {
34
+ _this.deferredGetCurrentActivity.resolve(_.last(activities));
35
+ _this.deferredGetCurrentActivity = null;
36
+ }
37
+ }));
38
+ return _this;
39
+ }
40
+ /**
41
+ * @protected
42
+ * @param {?} activityList
43
+ * @return {?}
44
+ */
45
+ InteractionContextBase.prototype.setActivityList = /**
46
+ * @protected
47
+ * @param {?} activityList
48
+ * @return {?}
49
+ */
50
+ function (activityList) {
51
+ this._activityListDelegate.setDelegate(activityList);
52
+ };
53
+ Object.defineProperty(InteractionContextBase.prototype, "activityList", {
54
+ get: /**
55
+ * @return {?}
56
+ */
57
+ function () {
58
+ return this._activityListDelegate.readonly;
59
+ },
60
+ enumerable: true,
61
+ configurable: true
62
+ });
63
+ /**
64
+ * Returns the activity that is currently active.
65
+ * This model is only updated in the next tick after the view has been updated.
66
+ */
67
+ /**
68
+ * Returns the activity that is currently active.
69
+ * This model is only updated in the next tick after the view has been updated.
70
+ * @return {?}
71
+ */
72
+ InteractionContextBase.prototype.getCurrentActivity = /**
73
+ * Returns the activity that is currently active.
74
+ * This model is only updated in the next tick after the view has been updated.
75
+ * @return {?}
76
+ */
77
+ function () {
78
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
79
+ return tslib_1.__generator(this, function (_a) {
80
+ if (!this.isActive()) {
81
+ return [2 /*return*/, Promise.reject('no activity in progress')];
82
+ }
83
+ else {
84
+ if (this.deferredGetCurrentActivity) {
85
+ // we're already waiting then just return the same promise
86
+ return [2 /*return*/, this.deferredGetCurrentActivity.promise];
87
+ }
88
+ else {
89
+ if (this.activityList.length < 1) {
90
+ this.deferredGetCurrentActivity = Deferred.defer();
91
+ return [2 /*return*/, this.deferredGetCurrentActivity.promise];
92
+ }
93
+ else {
94
+ return [2 /*return*/, _.last(this.activityList.value)];
95
+ }
96
+ }
97
+ }
98
+ return [2 /*return*/];
99
+ });
100
+ });
101
+ };
102
+ /**
103
+ * @template D, R, E
104
+ * @param {?} activityType
105
+ * @param {?=} data
106
+ * @return {?}
107
+ */
108
+ InteractionContextBase.prototype.startActivity = /**
109
+ * @template D, R, E
110
+ * @param {?} activityType
111
+ * @param {?=} data
112
+ * @return {?}
113
+ */
114
+ function (activityType, data) {
115
+ return this._startActivity(activityType, data);
116
+ };
117
+ /**
118
+ * @param {?} confirm
119
+ * @return {?}
120
+ */
121
+ InteractionContextBase.prototype.confirm = /**
122
+ * @param {?} confirm
123
+ * @return {?}
124
+ */
125
+ function (confirm) {
126
+ // Important: we have to implement confirmOrReject as the main entry point
127
+ // as the canDeactivation guards need to be able to cancel an interaction
128
+ // without caring about returning a value.
129
+ return this.confirmOrReject(confirm).then((/**
130
+ * @return {?}
131
+ */
132
+ function () { return true; })).catch((/**
133
+ * @return {?}
134
+ */
135
+ function () { return false; }));
136
+ };
137
+ /**
138
+ * @param {?} alert
139
+ * @return {?}
140
+ */
141
+ InteractionContextBase.prototype.alert = /**
142
+ * @param {?} alert
143
+ * @return {?}
144
+ */
145
+ function (alert) {
146
+ // TODO: Test disableClose === false
147
+ return this._startActivity(AlertDialogComponent, alert, false);
148
+ };
149
+ /**
150
+ * @param {?} confirm
151
+ * @return {?}
152
+ */
153
+ InteractionContextBase.prototype.confirmOrReject = /**
154
+ * @param {?} confirm
155
+ * @return {?}
156
+ */
157
+ function (confirm) {
158
+ return this._startActivity(ConfirmationDialogComponent, confirm, true);
159
+ };
160
+ /**
161
+ * @template D, R, E
162
+ * @param {?} confirm
163
+ * @param {?} activityType
164
+ * @param {?=} data
165
+ * @return {?}
166
+ */
167
+ InteractionContextBase.prototype.confirmThen = /**
168
+ * @template D, R, E
169
+ * @param {?} confirm
170
+ * @param {?} activityType
171
+ * @param {?=} data
172
+ * @return {?}
173
+ */
174
+ function (confirm, activityType, data) {
175
+ return this._startActivity(ConfirmThenDialogComponent, {
176
+ confirm: confirm,
177
+ activityType: activityType,
178
+ data: data
179
+ }, true);
180
+ };
181
+ return InteractionContextBase;
182
+ }(InteractionContext));
183
+ /**
184
+ * @abstract
185
+ */
186
+ export { InteractionContextBase };
187
+ if (false) {
188
+ /**
189
+ * Returns the current list of activities that are in progress.
190
+ * This model is only updated in the next tick after the view has been updated.
191
+ * @type {?}
192
+ * @private
193
+ */
194
+ InteractionContextBase.prototype._activityListDelegate;
195
+ /**
196
+ * @type {?}
197
+ * @private
198
+ */
199
+ InteractionContextBase.prototype.deferredGetCurrentActivity;
200
+ /**
201
+ * @abstract
202
+ * @protected
203
+ * @template D, R, E
204
+ * @param {?} activityType
205
+ * @param {?=} data
206
+ * @param {?=} disableClose
207
+ * @return {?}
208
+ */
209
+ InteractionContextBase.prototype._startActivity = function (activityType, data, disableClose) { };
210
+ }
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLEdBQUcsRUFJSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTNEOzs7O0lBQXFELGtEQUFrQjtJQVVyRTtRQUFBLFlBQ0UsaUJBQU8sU0FRUjs7Ozs7UUFiZ0IsMkJBQXFCLEdBQUcsSUFBSSxtQkFBbUIsRUFBc0IsQ0FBQztRQU0vRSxJQUFBLDJCQUFrRixFQUFoRixnQkFBSyxFQUFFLG9CQUFPLEVBQUUsa0JBQU0sRUFBRSxjQUFJLEVBQUUsZ0JBQUssRUFBRSxvQkFBTyxFQUFFLHNCQUFrQztRQUN4RixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxnQkFBZ0I7Ozs7UUFBQyxVQUFDLFVBQVU7WUFDekQsSUFBSSxLQUFJLENBQUMsMEJBQTBCLEVBQUU7Z0JBQ25DLEtBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUM1RCxLQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7O0lBQ0wsQ0FBQzs7Ozs7O0lBRVMsZ0RBQWU7Ozs7O0lBQXpCLFVBQTBCLFlBQTJDO1FBQ25FLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHNCQUFJLGdEQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDO1FBQzdDLENBQUM7OztPQUFBO0lBRUQ7OztPQUdHOzs7Ozs7SUFDRyxtREFBa0I7Ozs7O0lBQXhCOzs7Z0JBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDcEIsc0JBQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFDO2lCQUNsRDtxQkFBTTtvQkFDTCxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTt3QkFDbkMsMERBQTBEO3dCQUMxRCxzQkFBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFDO3FCQUNoRDt5QkFBTTt3QkFDTCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs0QkFDaEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzs0QkFDbkQsc0JBQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBQzt5QkFDaEQ7NkJBQU07NEJBQ0wsc0JBQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFDO3lCQUN4QztxQkFDRjtpQkFDRjs7OztLQUNGOzs7Ozs7O0lBR0QsOENBQWE7Ozs7OztJQUFiLFVBQXVCLFlBQThDLEVBQUUsSUFBUTtRQUM3RSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7Ozs7O0lBRUQsd0NBQU87Ozs7SUFBUCxVQUFRLE9BQWdCO1FBQ3RCLDBFQUEwRTtRQUMxRSx5RUFBeUU7UUFDekUsMENBQTBDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJOzs7UUFBQyxjQUFNLE9BQUEsSUFBSSxFQUFKLENBQUksRUFBQyxDQUFDLEtBQUs7OztRQUFDLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDLENBQUM7SUFDM0UsQ0FBQzs7Ozs7SUFFRCxzQ0FBSzs7OztJQUFMLFVBQU0sS0FBWTtRQUNoQixvQ0FBb0M7UUFDcEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELGdEQUFlOzs7O0lBQWYsVUFBZ0IsT0FBZ0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDOzs7Ozs7OztJQUVELDRDQUFXOzs7Ozs7O0lBQVgsVUFBcUIsT0FBZ0IsRUFBRSxZQUE4QyxFQUFFLElBQVE7UUFDN0YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFpRCwwQkFBMEIsRUFBRTtZQUNyRyxPQUFPLFNBQUE7WUFDUCxZQUFZLEVBQUUsWUFBWTtZQUMxQixJQUFJLEVBQUUsSUFBSTtTQUNYLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUgsNkJBQUM7QUFBRCxDQUFDLEFBaEZELENBQXFELGtCQUFrQixHQWdGdEU7Ozs7Ozs7Ozs7OztJQTFFQyx1REFBdUY7Ozs7O0lBRXZGLDREQUFzRTs7Ozs7Ozs7OztJQTBDdEUsa0dBQXdJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVmZXJyZWQsXG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsIERpc3Bvc2FibGUsXG4gIERzbCxcbiAgRXZlbnRMaXN0ZW5lckxpc3QsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIExpc3RNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuL2FsZXJ0JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbGlzdCBvZiBhY3Rpdml0aWVzIHRoYXQgYXJlIGluIHByb2dyZXNzLlxuICAgKiBUaGlzIG1vZGVsIGlzIG9ubHkgdXBkYXRlZCBpbiB0aGUgbmV4dCB0aWNrIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3REZWxlZ2F0ZSA9IG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4oKTtcblxuICBwcml2YXRlIGRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5OiBEZWZlcnJlZDxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB3aGVuLmxpc3RPZih0aGlzLmFjdGl2aXR5TGlzdCkuYmVjb21lc1BvcHVsYXRlZCgoYWN0aXZpdGllcykgPT4ge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5yZXNvbHZlKF8ubGFzdChhY3Rpdml0aWVzKSk7XG4gICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEFjdGl2aXR5TGlzdChhY3Rpdml0eUxpc3Q6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KSB7XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0RGVsZWdhdGUuc2V0RGVsZWdhdGUoYWN0aXZpdHlMaXN0KTtcbiAgfVxuXG4gIGdldCBhY3Rpdml0eUxpc3QoKTogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5TGlzdERlbGVnYXRlLnJlYWRvbmx5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnbm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgLy8gd2UncmUgYWxyZWFkeSB3YWl0aW5nIHRoZW4ganVzdCByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZVxuICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZpdHlMaXN0Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gRGVmZXJyZWQuZGVmZXIoKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBfLmxhc3QodGhpcy5hY3Rpdml0eUxpc3QudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCwgZGlzYWJsZUNsb3NlPzpib29sZWFuKTogUHJvbWlzZTxSPjtcblxuICBzdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIEltcG9ydGFudDogd2UgaGF2ZSB0byBpbXBsZW1lbnQgY29uZmlybU9yUmVqZWN0IGFzIHRoZSBtYWluIGVudHJ5IHBvaW50XG4gICAgLy8gYXMgdGhlIGNhbkRlYWN0aXZhdGlvbiBndWFyZHMgbmVlZCB0byBiZSBhYmxlIHRvIGNhbmNlbCBhbiBpbnRlcmFjdGlvblxuICAgIC8vIHdpdGhvdXQgY2FyaW5nIGFib3V0IHJldHVybmluZyBhIHZhbHVlLlxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1PclJlamVjdChjb25maXJtKS50aGVuKCgpID0+IHRydWUpLmNhdGNoKCgpID0+IGZhbHNlKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRPRE86IFRlc3QgZGlzYWJsZUNsb3NlID09PSBmYWxzZVxuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCwgZmFsc2UpO1xuICB9XG5cbiAgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbiAgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG5cbn1cblxuIl19
@@ -3,8 +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 { Deferred, DelegatingListModel, Dsl, GarbageCollector } from '@coolon/pectin';
7
- import * as _ from 'lodash';
6
+ import { EventListenerList, GarbageCollector } from '@coolon/pectin';
8
7
  /**
9
8
  * @abstract
10
9
  */
@@ -14,106 +13,64 @@ var /**
14
13
  InteractionContext = /** @class */ (function (_super) {
15
14
  tslib_1.__extends(InteractionContext, _super);
16
15
  function InteractionContext() {
17
- var _this = _super.call(this) || this;
18
- /**
19
- * Returns the current list of activities that are in progress.
20
- * This model is only updated in the next tick after the view has been updated.
21
- */
22
- _this._activityListDelegate = new DelegatingListModel();
23
- var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
24
- when.listOf(_this.activityList).becomesPopulated((/**
25
- * @param {?} activities
26
- * @return {?}
27
- */
28
- function (activities) {
29
- if (_this.deferredGetCurrentActivity) {
30
- _this.deferredGetCurrentActivity.resolve(_.last(activities));
31
- _this.deferredGetCurrentActivity = null;
32
- }
33
- }));
16
+ var _this = _super !== null && _super.apply(this, arguments) || this;
17
+ _this.activityListeners = new EventListenerList();
34
18
  return _this;
35
19
  }
36
20
  /**
37
- * @protected
38
- * @param {?} activityList
21
+ * Returns true if an activity is currently running.
22
+ */
23
+ /**
24
+ * Returns true if an activity is currently running.
39
25
  * @return {?}
40
26
  */
41
- InteractionContext.prototype.setActivityList = /**
42
- * @protected
43
- * @param {?} activityList
27
+ InteractionContext.prototype.isActive = /**
28
+ * Returns true if an activity is currently running.
44
29
  * @return {?}
45
30
  */
46
- function (activityList) {
47
- this._activityListDelegate.setDelegate(activityList);
31
+ function () {
32
+ return this.active.value;
48
33
  };
49
- Object.defineProperty(InteractionContext.prototype, "activityList", {
50
- get: /**
51
- * @return {?}
52
- */
53
- function () {
54
- return this._activityListDelegate.readonly;
55
- },
56
- enumerable: true,
57
- configurable: true
58
- });
59
34
  /**
60
- * Returns the activity that is currently active.
61
- * This model is only updated in the next tick after the view has been updated.
35
+ * @param {?} listener
36
+ * @return {?}
62
37
  */
38
+ InteractionContext.prototype.addActivityListener = /**
39
+ * @param {?} listener
40
+ * @return {?}
41
+ */
42
+ function (listener) {
43
+ return this.activityListeners.add(listener);
44
+ };
63
45
  /**
64
- * Returns the activity that is currently active.
65
- * This model is only updated in the next tick after the view has been updated.
46
+ * @protected
66
47
  * @return {?}
67
48
  */
68
- InteractionContext.prototype.getCurrentActivity = /**
69
- * Returns the activity that is currently active.
70
- * This model is only updated in the next tick after the view has been updated.
49
+ InteractionContext.prototype.notifyActivityStarted = /**
50
+ * @protected
71
51
  * @return {?}
72
52
  */
73
53
  function () {
74
- return tslib_1.__awaiter(this, void 0, void 0, function () {
75
- return tslib_1.__generator(this, function (_a) {
76
- if (!this.isActive()) {
77
- return [2 /*return*/, Promise.reject('no activity in progress')];
78
- }
79
- else {
80
- if (this.deferredGetCurrentActivity) {
81
- // we're already waiting then just return the same promise
82
- return [2 /*return*/, this.deferredGetCurrentActivity.promise];
83
- }
84
- else {
85
- if (this.activityList.length < 1) {
86
- this.deferredGetCurrentActivity = Deferred.defer();
87
- return [2 /*return*/, this.deferredGetCurrentActivity.promise];
88
- }
89
- else {
90
- return [2 /*return*/, _.last(this.activityList.value)];
91
- }
92
- }
93
- }
94
- return [2 /*return*/];
95
- });
96
- });
54
+ this.activityListeners.fire((/**
55
+ * @param {?} l
56
+ * @return {?}
57
+ */
58
+ function (l) { return l.onActivityStarted(); }));
97
59
  };
98
60
  /**
99
- * @param {?} confirm
61
+ * @protected
100
62
  * @return {?}
101
63
  */
102
- InteractionContext.prototype.confirm = /**
103
- * @param {?} confirm
64
+ InteractionContext.prototype.notifyActivityFinished = /**
65
+ * @protected
104
66
  * @return {?}
105
67
  */
106
- function (confirm) {
107
- // Important: we have to implement confirmOrReject as the main entry point
108
- // as the canDeactivation guards need to be able to cancel an interaction
109
- // without caring about returning a value.
110
- return this.confirmOrReject(confirm).then((/**
111
- * @return {?}
112
- */
113
- function () { return true; })).catch((/**
68
+ function () {
69
+ this.activityListeners.fire((/**
70
+ * @param {?} l
114
71
  * @return {?}
115
72
  */
116
- function () { return false; }));
73
+ function (l) { return l.onActivityFinished(); }));
117
74
  };
118
75
  return InteractionContext;
119
76
  }(GarbageCollector));
@@ -123,23 +80,21 @@ InteractionContext = /** @class */ (function (_super) {
123
80
  export { InteractionContext };
124
81
  if (false) {
125
82
  /**
126
- * Returns the current list of activities that are in progress.
127
- * This model is only updated in the next tick after the view has been updated.
128
83
  * @type {?}
129
84
  * @private
130
85
  */
131
- InteractionContext.prototype._activityListDelegate;
86
+ InteractionContext.prototype.activityListeners;
87
+ /** @type {?} */
88
+ InteractionContext.prototype.activityList;
89
+ /** @type {?} */
90
+ InteractionContext.prototype.active;
132
91
  /**
133
- * @type {?}
134
- * @private
135
- */
136
- InteractionContext.prototype.deferredGetCurrentActivity;
137
- /**
138
- * Returns true if an activity is currently running.
92
+ * Returns the activity that is currently active.
93
+ * This model is only updated in the next tick after the view has been updated.
139
94
  * @abstract
140
95
  * @return {?}
141
96
  */
142
- InteractionContext.prototype.isActive = function () { };
97
+ InteractionContext.prototype.getCurrentActivity = function () { };
143
98
  /**
144
99
  * @abstract
145
100
  * @template D, R, E
@@ -148,6 +103,18 @@ if (false) {
148
103
  * @return {?}
149
104
  */
150
105
  InteractionContext.prototype.startActivity = function (activityType, data) { };
106
+ /**
107
+ * @abstract
108
+ * @param {?} alert
109
+ * @return {?}
110
+ */
111
+ InteractionContext.prototype.alert = function (alert) { };
112
+ /**
113
+ * @abstract
114
+ * @param {?} confirm
115
+ * @return {?}
116
+ */
117
+ InteractionContext.prototype.confirm = function (confirm) { };
151
118
  /**
152
119
  * @abstract
153
120
  * @param {?} confirm
@@ -164,11 +131,22 @@ if (false) {
164
131
  * @return {?}
165
132
  */
166
133
  InteractionContext.prototype.confirmThen = function (confirm, activityType, data) { };
134
+ }
135
+ (function (InteractionContext) {
167
136
  /**
168
- * @abstract
169
- * @param {?} alert
170
- * @return {?}
137
+ * @record
171
138
  */
172
- InteractionContext.prototype.alert = function (alert) { };
173
- }
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixRQUFRLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEgsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFLNUI7Ozs7SUFBaUQsOENBQWdCO0lBVS9EO1FBQUEsWUFDRSxpQkFBTyxTQVFSOzs7OztRQWJnQiwyQkFBcUIsR0FBRyxJQUFJLG1CQUFtQixFQUFzQixDQUFDO1FBTS9FLElBQUEsMkJBQWtGLEVBQWhGLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxrQkFBTSxFQUFFLGNBQUksRUFBRSxnQkFBSyxFQUFFLG9CQUFPLEVBQUUsc0JBQWtDO1FBQ3hGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLGdCQUFnQjs7OztRQUFDLFVBQUMsVUFBVTtZQUN6RCxJQUFJLEtBQUksQ0FBQywwQkFBMEIsRUFBRTtnQkFDbkMsS0FBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQzVELEtBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUMsQ0FBQzs7SUFDTCxDQUFDOzs7Ozs7SUFFUyw0Q0FBZTs7Ozs7SUFBekIsVUFBMEIsWUFBMkM7UUFDbkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0JBQUksNENBQVk7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDN0MsQ0FBQzs7O09BQUE7SUFHRDs7O09BR0c7Ozs7OztJQUNHLCtDQUFrQjs7Ozs7SUFBeEI7OztnQkFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNwQixzQkFBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLEVBQUM7aUJBQ2xEO3FCQUFNO29CQUNMLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO3dCQUNuQywwREFBMEQ7d0JBQzFELHNCQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUM7cUJBQ2hEO3lCQUFNO3dCQUNMLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzRCQUNoQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDOzRCQUNuRCxzQkFBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFDO3lCQUNoRDs2QkFBTTs0QkFDTCxzQkFBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUM7eUJBQ3hDO3FCQUNGO2lCQUNGOzs7O0tBQ0Y7Ozs7O0lBU0Qsb0NBQU87Ozs7SUFBUCxVQUFRLE9BQWdCO1FBQ3RCLDBFQUEwRTtRQUMxRSx5RUFBeUU7UUFDekUsMENBQTBDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJOzs7UUFBQyxjQUFNLE9BQUEsSUFBSSxFQUFKLENBQUksRUFBQyxDQUFDLEtBQUs7OztRQUFDLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDLENBQUM7SUFDM0UsQ0FBQztJQWNILHlCQUFDO0FBQUQsQ0FBQyxBQTlFRCxDQUFpRCxnQkFBZ0IsR0E4RWhFOzs7Ozs7Ozs7Ozs7SUF4RUMsbURBQXVGOzs7OztJQUV2Rix3REFBc0U7Ozs7OztJQStDdEUsd0RBQTZCOzs7Ozs7OztJQUU3QiwrRUFBc0c7Ozs7OztJQVN0RyxzRUFBZ0U7Ozs7Ozs7Ozs7SUFRaEUsc0ZBQXNIOzs7Ozs7SUFFdEgsMERBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGVmZXJyZWQsIERlbGVnYXRpbmdMaXN0TW9kZWwsIERzbCwgR2FyYmFnZUNvbGxlY3RvciwgTGlzdE1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGxpc3Qgb2YgYWN0aXZpdGllcyB0aGF0IGFyZSBpbiBwcm9ncmVzcy5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0RGVsZWdhdGUgPSBuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgcHJpdmF0ZSBkZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eTogRGVmZXJyZWQ8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgd2hlbi5saXN0T2YodGhpcy5hY3Rpdml0eUxpc3QpLmJlY29tZXNQb3B1bGF0ZWQoKGFjdGl2aXRpZXMpID0+IHtcbiAgICAgIGlmICh0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5KSB7XG4gICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkucmVzb2x2ZShfLmxhc3QoYWN0aXZpdGllcykpO1xuICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRBY3Rpdml0eUxpc3QoYWN0aXZpdHlMaXN0OiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdERlbGVnYXRlLnNldERlbGVnYXRlKGFjdGl2aXR5TGlzdCk7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCk6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eUxpc3REZWxlZ2F0ZS5yZWFkb25seTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnbm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgLy8gd2UncmUgYWxyZWFkeSB3YWl0aW5nIHRoZW4ganVzdCByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZVxuICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZpdHlMaXN0Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gRGVmZXJyZWQuZGVmZXIoKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBfLmxhc3QodGhpcy5hY3Rpdml0eUxpc3QudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhbiBhY3Rpdml0eSBpcyBjdXJyZW50bHkgcnVubmluZy5cbiAgICovXG4gIGFic3RyYWN0IGlzQWN0aXZlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3Qgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gSW1wb3J0YW50OiB3ZSBoYXZlIHRvIGltcGxlbWVudCBjb25maXJtT3JSZWplY3QgYXMgdGhlIG1haW4gZW50cnkgcG9pbnRcbiAgICAvLyBhcyB0aGUgY2FuRGVhY3RpdmF0aW9uIGd1YXJkcyBuZWVkIHRvIGJlIGFibGUgdG8gY2FuY2VsIGFuIGludGVyYWN0aW9uXG4gICAgLy8gd2l0aG91dCBjYXJpbmcgYWJvdXQgcmV0dXJuaW5nIGEgdmFsdWUuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybU9yUmVqZWN0KGNvbmZpcm0pLnRoZW4oKCkgPT4gdHJ1ZSkuY2F0Y2goKCkgPT4gZmFsc2UpO1xuICB9XG5cbiAgYWJzdHJhY3QgYXN5bmMgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBQcmVzZW50cyB0aGUgY29uZmlybWF0aW9uIHRvIHRoZSB1c2VyIGFuZCBydW5zIHRoZSBhY3Rpdml0eSBvbmx5IGlmIHRoZSB1c2VyIGNvbmZpcm1zLlxuICAgKiBAcGFyYW0gY29uZmlybTpDb25maXJtIHRoZSBjb25maXJtYXRpb24gdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGFjdGl2aXR5VHlwZSB0aGUgYWN0aXZpdHkgdG8gcnVuIGlmIGNvbmZpcm1lZC5cbiAgICogQHBhcmFtIGRhdGEgdGhlIGFjdGl2aXR5IGRhdGEuXG4gICAqL1xuICBhYnN0cmFjdCBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgYWJzdHJhY3QgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPjtcblxufVxuXG4iXX0=
139
+ function Listener() { }
140
+ InteractionContext.Listener = Listener;
141
+ if (false) {
142
+ /**
143
+ * @return {?}
144
+ */
145
+ Listener.prototype.onActivityStarted = function () { };
146
+ /**
147
+ * @return {?}
148
+ */
149
+ Listener.prototype.onActivityFinished = function () { };
150
+ }
151
+ })(InteractionContext || (InteractionContext = {}));
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUE2QixpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUt2SDs7OztJQUFpRCw4Q0FBZ0I7SUFBakU7UUFBQSxxRUErQ0M7UUE3Q2tCLHVCQUFpQixHQUFHLElBQUksaUJBQWlCLEVBQStCLENBQUM7O0lBNkM1RixDQUFDO0lBekNDOztPQUVHOzs7OztJQUNILHFDQUFROzs7O0lBQVI7UUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7Ozs7O0lBRUQsZ0RBQW1COzs7O0lBQW5CLFVBQW9CLFFBQXFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVTLGtEQUFxQjs7OztJQUEvQjtRQUNFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsRUFBckIsQ0FBcUIsRUFBQyxDQUFDO0lBQzFELENBQUM7Ozs7O0lBRVMsbURBQXNCOzs7O0lBQWhDO1FBQ0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUF0QixDQUFzQixFQUFDLENBQUM7SUFDM0QsQ0FBQztJQXdCSCx5QkFBQztBQUFELENBQUMsQUEvQ0QsQ0FBaUQsZ0JBQWdCLEdBK0NoRTs7Ozs7Ozs7OztJQTdDQywrQ0FBMEY7O0lBQzFGLDBDQUFtRTs7SUFDbkUsb0NBQThDOzs7Ozs7O0lBeUI5QyxrRUFBaUU7Ozs7Ozs7O0lBRWpFLCtFQUFzRzs7Ozs7O0lBRXRHLDBEQUE0Qzs7Ozs7O0lBRTVDLDhEQUFxRDs7Ozs7O0lBRXJELHNFQUFnRTs7Ozs7Ozs7OztJQVFoRSxzRkFBc0g7O0FBSXhILFdBQWlCLGtCQUFrQjs7OztJQUNqQyx1QkFHQzs7Ozs7O1FBRkMsdURBQXlCOzs7O1FBQ3pCLHdEQUEwQjs7QUFFOUIsQ0FBQyxFQUxnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBS2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGlzcG9zYWJsZSwgRXZlbnRMaXN0ZW5lckxpc3QsIEdhcmJhZ2VDb2xsZWN0b3IsIExpc3RNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHQgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5TGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PEludGVyYWN0aW9uQ29udGV4dC5MaXN0ZW5lcj4oKTtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZpdHlMaXN0OiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+O1xuICBhYnN0cmFjdCByZWFkb25seSBhY3RpdmU6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhbiBhY3Rpdml0eSBpcyBjdXJyZW50bHkgcnVubmluZy5cbiAgICovXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZS52YWx1ZTtcbiAgfVxuXG4gIGFkZEFjdGl2aXR5TGlzdGVuZXIobGlzdGVuZXI6IEludGVyYWN0aW9uQ29udGV4dC5MaXN0ZW5lcik6IERpc3Bvc2FibGUge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5TGlzdGVuZXJzLmFkZChsaXN0ZW5lcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgbm90aWZ5QWN0aXZpdHlTdGFydGVkKCkge1xuICAgIHRoaXMuYWN0aXZpdHlMaXN0ZW5lcnMuZmlyZShsID0+IGwub25BY3Rpdml0eVN0YXJ0ZWQoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbm90aWZ5QWN0aXZpdHlGaW5pc2hlZCgpIHtcbiAgICB0aGlzLmFjdGl2aXR5TGlzdGVuZXJzLmZpcmUobCA9PiBsLm9uQWN0aXZpdHlGaW5pc2hlZCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhY3Rpdml0eSB0aGF0IGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIGFic3RyYWN0IGFzeW5jIGdldEN1cnJlbnRBY3Rpdml0eSgpOiBQcm9taXNlPEFjdGl2aXR5PGFueSwgYW55Pj47XG5cbiAgYWJzdHJhY3Qgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgYWJzdHJhY3QgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPjtcblxuICBhYnN0cmFjdCBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGFzeW5jIGNvbmZpcm1PclJlamVjdChjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUHJlc2VudHMgdGhlIGNvbmZpcm1hdGlvbiB0byB0aGUgdXNlciBhbmQgcnVucyB0aGUgYWN0aXZpdHkgb25seSBpZiB0aGUgdXNlciBjb25maXJtcy5cbiAgICogQHBhcmFtIGNvbmZpcm06Q29uZmlybSB0aGUgY29uZmlybWF0aW9uIHRvIGRpc3BsYXkuXG4gICAqIEBwYXJhbSBhY3Rpdml0eVR5cGUgdGhlIGFjdGl2aXR5IHRvIHJ1biBpZiBjb25maXJtZWQuXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBhY3Rpdml0eSBkYXRhLlxuICAgKi9cbiAgYWJzdHJhY3QgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5lciB7XG4gICAgb25BY3Rpdml0eVN0YXJ0ZWQoKTogdm9pZFxuICAgIG9uQWN0aXZpdHlGaW5pc2hlZCgpOiB2b2lkXG4gIH1cbn1cblxuIl19