@coolon/angular-ui-powerups 0.0.61 → 0.0.63

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 +414 -117
  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.metadata.json +1 -1
  6. package/esm2015/coolon-angular-ui-powerups.js +2 -2
  7. package/esm2015/index.js +2 -2
  8. package/esm2015/lib/interaction/activity.js +11 -1
  9. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +49 -1
  10. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +7 -56
  11. package/esm2015/lib/interaction/guards/close-interaction.guard.js +62 -0
  12. package/esm2015/lib/interaction/index.js +3 -2
  13. package/esm2015/lib/interaction/interaction-context.js +24 -5
  14. package/esm2015/lib/interaction/services/dialog-interaction.service.js +77 -4
  15. package/esm2015/lib/place/guards/leave-place.guard.js +144 -20
  16. package/esm2015/public_api.js +2 -2
  17. package/esm5/coolon-angular-ui-powerups.js +2 -2
  18. package/esm5/index.js +2 -2
  19. package/esm5/lib/interaction/activity.js +11 -1
  20. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +67 -1
  21. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +11 -78
  22. package/esm5/lib/interaction/guards/close-interaction.guard.js +66 -0
  23. package/esm5/lib/interaction/index.js +3 -2
  24. package/esm5/lib/interaction/interaction-context.js +25 -6
  25. package/esm5/lib/interaction/services/dialog-interaction.service.js +96 -4
  26. package/esm5/lib/place/guards/leave-place.guard.js +147 -20
  27. package/esm5/public_api.js +2 -2
  28. package/fesm2015/coolon-angular-ui-powerups.js +354 -82
  29. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  30. package/fesm5/coolon-angular-ui-powerups.js +401 -105
  31. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  32. package/lib/interaction/activity.d.ts +2 -0
  33. package/lib/interaction/components/activity-container/activity-container.component.d.ts +10 -1
  34. package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +2 -9
  35. package/lib/interaction/guards/close-interaction.guard.d.ts +12 -0
  36. package/lib/interaction/index.d.ts +1 -0
  37. package/lib/interaction/interaction-context.d.ts +17 -4
  38. package/lib/interaction/services/dialog-interaction.service.d.ts +15 -2
  39. package/lib/place/guards/leave-place.guard.d.ts +7 -1
  40. package/package.json +1 -1
@@ -3,7 +3,6 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import { Component, ComponentFactoryResolver, Injector, Input, ViewContainerRef } from '@angular/core';
6
- import { lang } from '@coolon/pectin';
7
6
  import { ACTIVITY_DATA } from '../../activity';
8
7
  import { InteractionContext } from '../../interaction-context';
9
8
  /**
@@ -60,6 +59,12 @@ export class ActivityOutletComponent {
60
59
  this.activityComponentRef = this.viewContainerRef.createComponent(componentFactory, 0, injector);
61
60
  this.activityComponentRef.instance.initialise(activityContext);
62
61
  }
62
+ /**
63
+ * @return {?}
64
+ */
65
+ get component() {
66
+ return this.activityComponentRef.instance;
67
+ }
63
68
  /**
64
69
  * @param {?} alert
65
70
  * @return {?}
@@ -144,58 +149,4 @@ if (false) {
144
149
  ActivityOutletComponent.prototype.injector;
145
150
  /* Skipping unhandled member: ;*/
146
151
  }
147
- (function (ActivityOutletComponent) {
148
- /**
149
- * @template D, R, E
150
- */
151
- class OutletInteractionContext {
152
- /**
153
- * @param {?} context
154
- */
155
- constructor(context) {
156
- this.context = context;
157
- }
158
- /**
159
- * @param {?} alert
160
- * @return {?}
161
- */
162
- alert(alert) {
163
- return lang.notImplemented();
164
- }
165
- /**
166
- * @param {?} confirm
167
- * @return {?}
168
- */
169
- confirm(confirm) {
170
- return lang.notImplemented();
171
- }
172
- /**
173
- * @template D1, R1, E1
174
- * @param {?} confirm
175
- * @param {?} activityType
176
- * @param {?=} data
177
- * @return {?}
178
- */
179
- confirmThen(confirm, activityType, data) {
180
- return lang.notImplemented();
181
- }
182
- /**
183
- * @template D1, R1, E1
184
- * @param {?} activityType
185
- * @param {?=} data
186
- * @return {?}
187
- */
188
- startActivity(activityType, data) {
189
- return lang.notImplemented();
190
- }
191
- }
192
- ActivityOutletComponent.OutletInteractionContext = OutletInteractionContext;
193
- if (false) {
194
- /**
195
- * @type {?}
196
- * @private
197
- */
198
- OutletInteractionContext.prototype.context;
199
- }
200
- })(ActivityOutletComponent || (ActivityOutletComponent = {}));
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUV4QixRQUFRLEVBQ1IsS0FBSyxFQUVMLGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWlCLElBQUksRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBWSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBZS9ELE1BQU0sT0FBTyx1QkFBdUI7Ozs7OztJQVlsQyxZQUNVLHdCQUFrRCxFQUNsRCxnQkFBa0MsRUFDbEMsUUFBa0I7UUFGbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVU7SUFFNUIsQ0FBQzs7Ozs7SUFaRCxJQUNJLGVBQWUsQ0FBQyxlQUErQztRQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFBQSxDQUFDOzs7O0lBV0YsUUFBUTtJQUNSLENBQUM7Ozs7O0lBRUQsWUFBWSxDQUFDLGVBQStDOztjQUNwRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsUUFBUSxFQUFFLElBQUk7aUJBQ2Y7Z0JBQ0QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUMsWUFBWSxFQUFFO2FBQ25FO1lBQ0QsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3RCLENBQUM7O2NBQ0ksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDN0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELEtBQUssQ0FBQyxLQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVELE9BQU8sQ0FBQyxPQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7Ozs7Ozs7SUFFRCxXQUFXLENBQWEsT0FBZ0IsRUFBRSxZQUFpRCxFQUFFLElBQVM7UUFDcEcsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7Ozs7OztJQUVELGFBQWEsQ0FBYSxZQUFpRCxFQUFFLElBQVM7UUFDcEYsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQzs7O1lBaEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxRQUFRLEVBQUUsRUFBRTs7YUFFYjs7OztZQXpCQyx3QkFBd0I7WUFLeEIsZ0JBQWdCO1lBSGhCLFFBQVE7OztpQ0EwQlAsS0FBSzs4QkFHTCxLQUFLOzs7O0lBSE4scURBQ3VDOzs7OztJQU92Qyx1REFBOEQ7Ozs7O0lBRzVELDJEQUEwRDs7Ozs7SUFDMUQsbURBQTBDOzs7OztJQUMxQywyQ0FBMEI7OztBQStDOUIsV0FBaUIsdUJBQXVCOzs7O0lBRXRDLE1BQWEsd0JBQXdCOzs7O1FBRW5DLFlBQTZCLE9BQXVDO1lBQXZDLFlBQU8sR0FBUCxPQUFPLENBQWdDO1FBQ3BFLENBQUM7Ozs7O1FBRUQsS0FBSyxDQUFDLEtBQVk7WUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0IsQ0FBQzs7Ozs7UUFFRCxPQUFPLENBQUMsT0FBZ0I7WUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0IsQ0FBQzs7Ozs7Ozs7UUFFRCxXQUFXLENBQWEsT0FBZ0IsRUFBRSxZQUFpRCxFQUFFLElBQVM7WUFDcEcsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0IsQ0FBQzs7Ozs7OztRQUdELGFBQWEsQ0FBYSxZQUFpRCxFQUFFLElBQVM7WUFDcEYsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0IsQ0FBQztLQUNGO0lBckJZLGdEQUF3QiwyQkFxQnBDLENBQUE7Ozs7OztRQW5CYSwyQ0FBd0Q7O0FBcUJ4RSxDQUFDLEVBekJnQix1QkFBdUIsS0FBdkIsdUJBQXVCLFFBeUJ2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgbGFuZywgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBBY3Rpdml0eSwgQUNUSVZJVFlfREFUQSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vLi4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4uLy4uL2NvbmZpcm0nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbnRleHQgfSBmcm9tICcuL2FjdGl2aXR5LW91dGxldC1jb250ZXh0JztcblxuLyoqXG4gKiBBY3Rpdml0eU91dGxldENvbXBvbmVudCBjcmVhdGVzIGFuZCBkaXNwbGF5cyBhbiBhY3Rpdml0eSBhbmQgZGVsZWdhdGVzIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0IGZ1bmN0aW9uYWxpdHkgdG8gYW5cbiAqIGV4dGVybmFsIHNlcnZpY2UuXG4gKlxuICogSXQgbWlnaHQgYmUgbmljZSB0byBoYXZlIHdyYXBwZXIgY29tcG9uZW50IHRoYXQgYWxsb3dzIG1vcmUgZGVjbGFyYXRpdmUgdXNlLCBpLmUuXG4gKiA8YWN0aXZpdHktdmlldyBbYWN0aXZpdHlDbGFzc109XCIuLi5cIiwgW2FjdGl2aXR5RGF0YV09XCIuLi5cIiAoZG9uZSk9XCIuLlwiIChjYW5jZWwpPVwiLi4uXCI+PC9hY3Rpdml0eS12aWV3PlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXVpLXBvd2VydXBzLWFjdGl2aXR5LW91dGxldCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQ8RCwgUiwgRT4gaW1wbGVtZW50cyBPbkluaXQsIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgQElucHV0KClcbiAgaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQ7XG5cbiAgQElucHV0KClcbiAgc2V0IGFjdGl2aXR5Q29udGV4dChhY3Rpdml0eUNvbnRleHQ6IEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPikge1xuICAgIHRoaXMubG9hZEFjdGl2aXR5KGFjdGl2aXR5Q29udGV4dCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBhY3Rpdml0eUNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEFjdGl2aXR5PEQsIFIsIEU+PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgbG9hZEFjdGl2aXR5KGFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBJbnRlcmFjdGlvbkNvbnRleHQsXG4gICAgICAgICAgdXNlVmFsdWU6IHRoaXNcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBBQ1RJVklUWV9EQVRBLCB1c2VWYWx1ZTogYWN0aXZpdHlDb250ZXh0LmFjdGl2aXR5RGF0YSB9XG4gICAgICBdLFxuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yXG4gICAgfSk7XG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGFjdGl2aXR5Q29udGV4dC5hY3Rpdml0eUNsYXNzKTtcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICB0aGlzLmFjdGl2aXR5Q29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5LCAwLCBpbmplY3Rvcik7XG4gICAgdGhpcy5hY3Rpdml0eUNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbml0aWFsaXNlKGFjdGl2aXR5Q29udGV4dCk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuYWxlcnQoYWxlcnQpO1xuICB9XG5cbiAgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmNvbmZpcm0oY29uZmlybSk7XG4gIH1cblxuICBjb25maXJtVGhlbjxEMSwgUjEsIEUxPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmNvbmZpcm1UaGVuKGNvbmZpcm0sIGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBzdGFydEFjdGl2aXR5PEQxLCBSMSwgRTE+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuc3RhcnRBY3Rpdml0eShhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgbm90aWZ5UmVhZHkoKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlDb21wb25lbnRSZWYuaW5zdGFuY2VbJ29uQWN0aXZpdHlSZWFkeSddKSB7XG4gICAgICB0aGlzLmFjdGl2aXR5Q29tcG9uZW50UmVmLmluc3RhbmNlWydvbkFjdGl2aXR5UmVhZHknXSgpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50IHtcblxuICBleHBvcnQgY2xhc3MgT3V0bGV0SW50ZXJhY3Rpb25Db250ZXh0PEQsIFIsIEU+IGltcGxlbWVudHMgSW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgfVxuXG4gICAgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICByZXR1cm4gbGFuZy5ub3RJbXBsZW1lbnRlZCgpO1xuICAgIH1cblxuICAgIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgcmV0dXJuIGxhbmcubm90SW1wbGVtZW50ZWQoKTtcbiAgICB9XG5cbiAgICBjb25maXJtVGhlbjxEMSwgUjEsIEUxPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgICByZXR1cm4gbGFuZy5ub3RJbXBsZW1lbnRlZCgpO1xuICAgIH1cblxuXG4gICAgc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgICByZXR1cm4gbGFuZy5ub3RJbXBsZW1lbnRlZCgpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUV4QixRQUFRLEVBQ1IsS0FBSyxFQUVMLGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQVksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQWUvRCxNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFZbEMsWUFDVSx3QkFBa0QsRUFDbEQsZ0JBQWtDLEVBQ2xDLFFBQWtCO1FBRmxCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRTVCLENBQUM7Ozs7O0lBWkQsSUFDSSxlQUFlLENBQUMsZUFBK0M7UUFDakUsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQUEsQ0FBQzs7OztJQVdGLFFBQVE7SUFDUixDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxlQUErQzs7Y0FDcEQsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2dCQUNELEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDLFlBQVksRUFBRTthQUNuRTtZQUNELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN0QixDQUFDOztjQUNJLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1FBQzdHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakUsQ0FBQzs7OztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztJQUM1QyxDQUFDOzs7OztJQUVELEtBQUssQ0FBQyxLQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVELE9BQU8sQ0FBQyxPQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7Ozs7Ozs7SUFFRCxXQUFXLENBQWEsT0FBZ0IsRUFBRSxZQUFpRCxFQUFFLElBQVM7UUFDcEcsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7Ozs7OztJQUVELGFBQWEsQ0FBYSxZQUFpRCxFQUFFLElBQVM7UUFDcEYsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQzs7O1lBcEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxRQUFRLEVBQUUsRUFBRTs7YUFFYjs7OztZQXpCQyx3QkFBd0I7WUFLeEIsZ0JBQWdCO1lBSGhCLFFBQVE7OztpQ0EwQlAsS0FBSzs4QkFHTCxLQUFLOzs7O0lBSE4scURBQ3VDOzs7OztJQU92Qyx1REFBOEQ7Ozs7O0lBRzVELDJEQUEwRDs7Ozs7SUFDMUQsbURBQTBDOzs7OztJQUMxQywyQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUsIGxhbmcsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQWN0aXZpdHksIEFDVElWSVRZX0RBVEEgfSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uLy4uL2FsZXJ0JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi8uLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb250ZXh0IH0gZnJvbSAnLi9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5cbi8qKlxuICogQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgY3JlYXRlcyBhbmQgZGlzcGxheXMgYW4gYWN0aXZpdHkgYW5kIGRlbGVnYXRlcyB0aGUgaW50ZXJhY3Rpb24gY29udGV4dCBmdW5jdGlvbmFsaXR5IHRvIGFuXG4gKiBleHRlcm5hbCBzZXJ2aWNlLlxuICpcbiAqIEl0IG1pZ2h0IGJlIG5pY2UgdG8gaGF2ZSB3cmFwcGVyIGNvbXBvbmVudCB0aGF0IGFsbG93cyBtb3JlIGRlY2xhcmF0aXZlIHVzZSwgaS5lLlxuICogPGFjdGl2aXR5LXZpZXcgW2FjdGl2aXR5Q2xhc3NdPVwiLi4uXCIsIFthY3Rpdml0eURhdGFdPVwiLi4uXCIgKGRvbmUpPVwiLi5cIiAoY2FuY2VsKT1cIi4uLlwiPjwvYWN0aXZpdHktdmlldz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1hY3Rpdml0eS1vdXRsZXQnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LW91dGxldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50PEQsIFIsIEU+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBASW5wdXQoKVxuICBzZXQgYWN0aXZpdHlDb250ZXh0KGFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgdGhpcy5sb2FkQWN0aXZpdHkoYWN0aXZpdHlDb250ZXh0KTtcbiAgfTtcblxuICBwcml2YXRlIGFjdGl2aXR5Q29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QWN0aXZpdHk8RCwgUiwgRT4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBsb2FkQWN0aXZpdHkoYWN0aXZpdHlDb250ZXh0OiBBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT4pIHtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEludGVyYWN0aW9uQ29udGV4dCxcbiAgICAgICAgICB1c2VWYWx1ZTogdGhpc1xuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IEFDVElWSVRZX0RBVEEsIHVzZVZhbHVlOiBhY3Rpdml0eUNvbnRleHQuYWN0aXZpdHlEYXRhIH1cbiAgICAgIF0sXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3JcbiAgICB9KTtcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoYWN0aXZpdHlDb250ZXh0LmFjdGl2aXR5Q2xhc3MpO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIHRoaXMuYWN0aXZpdHlDb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDAsIGluamVjdG9yKTtcbiAgICB0aGlzLmFjdGl2aXR5Q29tcG9uZW50UmVmLmluc3RhbmNlLmluaXRpYWxpc2UoYWN0aXZpdHlDb250ZXh0KTtcbiAgfVxuXG4gIGdldCBjb21wb25lbnQoKTpBY3Rpdml0eTxELFIsRT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29tcG9uZW50UmVmLmluc3RhbmNlO1xuICB9XG5cbiAgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmFsZXJ0KGFsZXJ0KTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmludGVyYWN0aW9uQ29udGV4dC5jb25maXJtKGNvbmZpcm0pO1xuICB9XG5cbiAgY29uZmlybVRoZW48RDEsIFIxLCBFMT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLmludGVyYWN0aW9uQ29udGV4dC5jb25maXJtVGhlbihjb25maXJtLCBhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LnN0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcbiAgfVxuXG4gIG5vdGlmeVJlYWR5KCkge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5Q29tcG9uZW50UmVmLmluc3RhbmNlWydvbkFjdGl2aXR5UmVhZHknXSkge1xuICAgICAgdGhpcy5hY3Rpdml0eUNvbXBvbmVudFJlZi5pbnN0YW5jZVsnb25BY3Rpdml0eVJlYWR5J10oKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBY3Rpdml0eU91dGxldENvbXBvbmVudCB7XG5cbiAgLy8gZXhwb3J0IGNsYXNzIE91dGxldEludGVyYWN0aW9uQ29udGV4dDxELCBSLCBFPiBpbXBsZW1lbnRzIEludGVyYWN0aW9uQ29udGV4dCB7XG4gIC8vXG4gIC8vICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb250ZXh0OiBBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT4pIHtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vICAgICByZXR1cm4gbGFuZy5ub3RJbXBsZW1lbnRlZCgpO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gICAgIHJldHVybiBsYW5nLm5vdEltcGxlbWVudGVkKCk7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIGNvbmZpcm1UaGVuPEQxLCBSMSwgRTE+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgLy8gICAgIHJldHVybiBsYW5nLm5vdEltcGxlbWVudGVkKCk7XG4gIC8vICAgfVxuICAvL1xuICAvL1xuICAvLyAgIHN0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAvLyAgICAgcmV0dXJuIGxhbmcubm90SW1wbGVtZW50ZWQoKTtcbiAgLy8gICB9XG4gIC8vIH1cblxufVxuIl19
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Injectable, Injector } from '@angular/core';
6
+ import { Router } from '@angular/router';
7
+ import { InteractionContext } from '../interaction-context';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/router";
10
+ import * as i2 from "../interaction-context";
11
+ export class CloseInteractionGuard {
12
+ /**
13
+ * @param {?} router
14
+ * @param {?} injector
15
+ * @param {?} interactionContext
16
+ */
17
+ constructor(router, injector, interactionContext) {
18
+ this.router = router;
19
+ this.injector = injector;
20
+ this.interactionContext = interactionContext;
21
+ }
22
+ /**
23
+ * @param {?} component
24
+ * @param {?} currentRoute
25
+ * @param {?} currentState
26
+ * @param {?=} nextState
27
+ * @return {?}
28
+ */
29
+ canDeactivate(component, currentRoute, currentState, nextState) {
30
+ return !this.interactionContext.isActive();
31
+ }
32
+ }
33
+ CloseInteractionGuard.decorators = [
34
+ { type: Injectable, args: [{
35
+ providedIn: 'root'
36
+ },] }
37
+ ];
38
+ /** @nocollapse */
39
+ CloseInteractionGuard.ctorParameters = () => [
40
+ { type: Router },
41
+ { type: Injector },
42
+ { type: InteractionContext }
43
+ ];
44
+ /** @nocollapse */ CloseInteractionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function CloseInteractionGuard_Factory() { return new CloseInteractionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.InteractionContext)); }, token: CloseInteractionGuard, providedIn: "root" });
45
+ if (false) {
46
+ /**
47
+ * @type {?}
48
+ * @private
49
+ */
50
+ CloseInteractionGuard.prototype.router;
51
+ /**
52
+ * @type {?}
53
+ * @private
54
+ */
55
+ CloseInteractionGuard.prototype.injector;
56
+ /**
57
+ * @type {?}
58
+ * @private
59
+ */
60
+ CloseInteractionGuard.prototype.interactionContext;
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtaW50ZXJhY3Rpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vZ3VhcmRzL2Nsb3NlLWludGVyYWN0aW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQXlDLE1BQU0sRUFBZ0MsTUFBTSxpQkFBaUIsQ0FBQztBQUc5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQU01RCxNQUFNLE9BQU8scUJBQXFCOzs7Ozs7SUFFaEMsWUFBb0IsTUFBYyxFQUFVLFFBQWtCLEVBQW1CLGtCQUFzQztRQUFuRyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFtQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQ3ZILENBQUM7Ozs7Ozs7O0lBRUQsYUFBYSxDQUFDLFNBQXlCLEVBQUUsWUFBb0MsRUFBRSxZQUFpQyxFQUFFLFNBQStCO1FBQy9JLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDNUMsQ0FBQzs7O1lBVkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBUitDLE1BQU07WUFEakMsUUFBUTtZQUlwQixrQkFBa0I7Ozs7Ozs7O0lBUWIsdUNBQXNCOzs7OztJQUFFLHlDQUEwQjs7Ozs7SUFBRSxtREFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UvcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENsb3NlSW50ZXJhY3Rpb25HdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSByZWFkb25seSBpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCkge1xuICB9XG5cbiAgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgcmV0dXJuICF0aGlzLmludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpXG4gIH1cblxufVxuIl19
@@ -9,7 +9,7 @@ export { AbstractActivity } from "./abstract-activity";
9
9
  export { ACTIVITY_DATA } from "./activity";
10
10
  export {} from "./alert";
11
11
  export {} from "./confirm";
12
- export { INTERACTION_CONTEXT, InteractionContext } from "./interaction-context";
12
+ export { InteractionContext } from "./interaction-context";
13
13
  export { InteractionModule } from "./interaction.module";
14
14
  export {} from "./result";
15
15
  export { ActivityContainerComponent } from "./components/activity-container/activity-container.component";
@@ -18,5 +18,6 @@ export { ActivityOutletComponent } from "./components/activity-outlet/activity-o
18
18
  export { AlertDialogComponent } from "./components/alert-dialog/alert-dialog.component";
19
19
  export { ConfirmThenDialogComponent } from "./components/confirm-then-dialog/confirm-then-dialog.component";
20
20
  export { ConfirmationDialogComponent } from "./components/confirmation-dialog/confirmation-dialog.component";
21
+ export { CloseInteractionGuard } from "./guards/close-interaction.guard";
21
22
  export { DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from "./services/dialog-interaction.service";
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLDhCQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQix3REFBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDhFQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2VcIjtcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLDhCQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQixtQ0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLHNDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELDhFQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2Nsb3NlLWludGVyYWN0aW9uLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlcy9kaWFsb2ctaW50ZXJhY3Rpb24uc2VydmljZVwiO1xuIl19
@@ -2,15 +2,34 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { InjectionToken } from '@angular/core';
6
- /** @type {?} */
7
- export const INTERACTION_CONTEXT = new InjectionToken('InteractionContext');
5
+ import { GarbageCollector } from '@coolon/pectin';
8
6
  /**
9
7
  * @abstract
10
8
  */
11
- export class InteractionContext {
9
+ export class InteractionContext extends GarbageCollector {
10
+ constructor() {
11
+ super();
12
+ }
12
13
  }
13
14
  if (false) {
15
+ /**
16
+ * Returns the activity that is currently active.
17
+ * This model is only updated in the next tick after the view has been updated.
18
+ * @type {?}
19
+ */
20
+ InteractionContext.prototype.currentActivity;
21
+ /**
22
+ * Returns the current list of activities that are in progress.
23
+ * This model is only updated in the next tick after the view has been updated.
24
+ * @type {?}
25
+ */
26
+ InteractionContext.prototype.activityList;
27
+ /**
28
+ * Returns true if an activity is currently running.
29
+ * @abstract
30
+ * @return {?}
31
+ */
32
+ InteractionContext.prototype.isActive = function () { };
14
33
  /**
15
34
  * @abstract
16
35
  * @template D, R, E
@@ -42,4 +61,4 @@ if (false) {
42
61
  */
43
62
  InteractionContext.prototype.alert = function (alert) { };
44
63
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vQyxNQUFNLE9BQU8sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQU0sb0JBQW9CLENBQUM7Ozs7QUFFaEYsTUFBTSxPQUFnQixrQkFBa0I7Q0FnQnZDOzs7Ozs7Ozs7SUFkQywrRUFBc0c7Ozs7OztJQUd0Ryw4REFBa0Q7Ozs7Ozs7Ozs7SUFRbEQsc0ZBQXNIOzs7Ozs7SUFFdEgsMERBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuL2FsZXJ0JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuL2NvbmZpcm0nO1xuXG5leHBvcnQgY29uc3QgSU5URVJBQ1RJT05fQ09OVEVYVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdJbnRlcmFjdGlvbkNvbnRleHQnKTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgYWJzdHJhY3Qgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cblxuICBhYnN0cmFjdCBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBQcmVzZW50cyB0aGUgY29uZmlybWF0aW9uIHRvIHRoZSB1c2VyIGFuZCBydW5zIHRoZSBhY3Rpdml0eSBvbmx5IGlmIHRoZSB1c2VyIGNvbmZpcm1zLlxuICAgKiBAcGFyYW0gY29uZmlybTpDb25maXJtIHRoZSBjb25maXJtYXRpb24gdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGFjdGl2aXR5VHlwZSB0aGUgYWN0aXZpdHkgdG8gcnVuIGlmIGNvbmZpcm1lZC5cbiAgICogQHBhcmFtIGRhdGEgdGhlIGFjdGl2aXR5IGRhdGEuXG4gICAqL1xuICBhYnN0cmFjdCBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgYWJzdHJhY3QgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPjtcbn1cblxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQWlCLGdCQUFnQixFQUF5QixNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3hGLE1BQU0sT0FBZ0Isa0JBQW1CLFNBQVEsZ0JBQWdCO0lBYy9EO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0NBcUJGOzs7Ozs7O0lBL0JDLDZDQUFrRTs7Ozs7O0lBTWxFLDBDQUE4RDs7Ozs7O0lBUzlELHdEQUE2Qjs7Ozs7Ozs7SUFFN0IsK0VBQXNHOzs7Ozs7SUFFdEcsOERBQWtEOzs7Ozs7Ozs7O0lBUWxELHNGQUFzSDs7Ozs7O0lBRXRILDBEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdGFibGUsIEdhcmJhZ2VDb2xsZWN0b3IsIExpc3RNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHQgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYWN0aXZpdHkgdGhhdCBpcyBjdXJyZW50bHkgYWN0aXZlLlxuICAgKiBUaGlzIG1vZGVsIGlzIG9ubHkgdXBkYXRlZCBpbiB0aGUgbmV4dCB0aWNrIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBjdXJyZW50QWN0aXZpdHk6IFZhbHVlTW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PjtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBsaXN0IG9mIGFjdGl2aXRpZXMgdGhhdCBhcmUgaW4gcHJvZ3Jlc3MuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGFjdGl2aXR5TGlzdDogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gYWN0aXZpdHkgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqL1xuICBhYnN0cmFjdCBpc0FjdGl2ZSgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG4gIGFic3RyYWN0IGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFByZXNlbnRzIHRoZSBjb25maXJtYXRpb24gdG8gdGhlIHVzZXIgYW5kIHJ1bnMgdGhlIGFjdGl2aXR5IG9ubHkgaWYgdGhlIHVzZXIgY29uZmlybXMuXG4gICAqIEBwYXJhbSBjb25maXJtOkNvbmZpcm0gdGhlIGNvbmZpcm1hdGlvbiB0byBkaXNwbGF5LlxuICAgKiBAcGFyYW0gYWN0aXZpdHlUeXBlIHRoZSBhY3Rpdml0eSB0byBydW4gaWYgY29uZmlybWVkLlxuICAgKiBAcGFyYW0gZGF0YSB0aGUgYWN0aXZpdHkgZGF0YS5cbiAgICovXG4gIGFic3RyYWN0IGNvbmZpcm1UaGVuPEQsIFIsIEU+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPjtcblxuICBhYnN0cmFjdCBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+O1xuXG59XG5cbiJdfQ==
@@ -5,6 +5,8 @@
5
5
  import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
6
6
  import { MatDialog } from '@angular/material';
7
7
  import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/dialog';
8
+ import { Router } from '@angular/router';
9
+ import { DelegatingListModel, Dsl, lang } from '@coolon/pectin';
8
10
  import { assert } from '@coolon/typescript-utilities';
9
11
  import { ActivityContainerComponent } from '../components/activity-container/activity-container.component';
10
12
  import { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';
@@ -13,20 +15,45 @@ import { ConfirmationDialogComponent } from '../components/confirmation-dialog/c
13
15
  import { InteractionContext } from '../interaction-context';
14
16
  import * as i0 from "@angular/core";
15
17
  import * as i1 from "@angular/material/dialog";
18
+ import * as i2 from "@angular/router";
16
19
  /** @type {?} */
17
20
  export const DIALOG_INTERACTION_SERVICE_DEFAULTS = new InjectionToken('DIALOG_INTERACTION_SERVICE_DEFAULTS');
18
21
  export class DialogInteractionService extends InteractionContext {
19
22
  /**
20
23
  * @param {?} dialogService
24
+ * @param {?} router
21
25
  * @param {?} dialogServiceDefaults
22
26
  * @param {?} matDialogDefaultConfig
23
27
  */
24
- constructor(dialogService, dialogServiceDefaults, matDialogDefaultConfig) {
28
+ constructor(dialogService, router, dialogServiceDefaults, matDialogDefaultConfig) {
25
29
  super();
26
30
  this.dialogService = dialogService;
31
+ this.router = router;
27
32
  this.dialogServiceDefaults = dialogServiceDefaults;
28
33
  this.matDialogDefaultConfig = matDialogDefaultConfig;
34
+ this._activityList = new DelegatingListModel();
35
+ this._active = false;
29
36
  assert.notNil(dialogService);
37
+ const { chain, observe } = Dsl.disposeWith(this);
38
+ this.currentActivity = chain(this.activityList).last();
39
+ }
40
+ /**
41
+ * @return {?}
42
+ */
43
+ isActive() {
44
+ return this._active;
45
+ }
46
+ /**
47
+ * @return {?}
48
+ */
49
+ cancelActivity() {
50
+ this.currentActivity.value.cancel(null);
51
+ }
52
+ /**
53
+ * @return {?}
54
+ */
55
+ get activityList() {
56
+ return this._activityList.readonly;
30
57
  }
31
58
  /**
32
59
  * @template D, R, E
@@ -46,8 +73,18 @@ export class DialogInteractionService extends InteractionContext {
46
73
  * @return {?}
47
74
  */
48
75
  _startActivity(activityType, data, disableClose = true) {
76
+ if (this.isActive()) {
77
+ lang.illegalState(`Activity already in progress: ${this.activityList.value.map((/**
78
+ * @param {?} a
79
+ * @return {?}
80
+ */
81
+ a => a.constructor.name)).join(', ')}`);
82
+ }
83
+ this._active = true;
84
+ /** @type {?} */
85
+ const self = this;
49
86
  /** @type {?} */
50
- const config = Object.assign({ autoFocus: false, hasBackdrop: true }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
87
+ const config = Object.assign({ autoFocus: false, hasBackdrop: true, closeOnNavigation: false }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
51
88
  data,
52
89
  disableClose,
53
90
  panelClass: 'dialog-interaction-service'
@@ -63,6 +100,7 @@ export class DialogInteractionService extends InteractionContext {
63
100
  /** @type {?} */
64
101
  const activityContainer = matDialogRef.componentInstance;
65
102
  activityContainer.parentInteractionContext = this;
103
+ self.safelyUpdateActivityListDelegate(activityContainer.activityList);
66
104
  activityContainer.initialise({
67
105
  activityClass: activityType,
68
106
  activityData: data,
@@ -86,8 +124,25 @@ export class DialogInteractionService extends InteractionContext {
86
124
  }
87
125
  });
88
126
  matDialogRef.updateSize();
127
+ })).finally((/**
128
+ * @return {?}
129
+ */
130
+ () => {
131
+ self.safelyUpdateActivityListDelegate(null);
132
+ self._active = false;
89
133
  }));
90
134
  }
135
+ /**
136
+ * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
137
+ * @param {?} delegate
138
+ * @return {?}
139
+ */
140
+ safelyUpdateActivityListDelegate(delegate) {
141
+ setTimeout((/**
142
+ * @return {?}
143
+ */
144
+ () => this._activityList.setDelegate(delegate)));
145
+ }
91
146
  /**
92
147
  * @param {?} alert
93
148
  * @return {?}
@@ -125,19 +180,37 @@ DialogInteractionService.decorators = [
125
180
  /** @nocollapse */
126
181
  DialogInteractionService.ctorParameters = () => [
127
182
  { type: MatDialog },
183
+ { type: Router },
128
184
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [DIALOG_INTERACTION_SERVICE_DEFAULTS,] }] },
129
185
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DIALOG_DEFAULT_OPTIONS,] }] }
130
186
  ];
131
- /** @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" });
187
+ /** @nocollapse */ DialogInteractionService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DialogInteractionService_Factory() { return new DialogInteractionService(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(i2.Router), i0.ɵɵinject(DIALOG_INTERACTION_SERVICE_DEFAULTS, 8), i0.ɵɵinject(i1.MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionService, providedIn: "root" });
132
188
  if (false) {
189
+ /** @type {?} */
190
+ DialogInteractionService.prototype.currentActivity;
191
+ /**
192
+ * @type {?}
193
+ * @private
194
+ */
195
+ DialogInteractionService.prototype._activityList;
196
+ /**
197
+ * @type {?}
198
+ * @private
199
+ */
200
+ DialogInteractionService.prototype._active;
133
201
  /**
134
202
  * @type {?}
135
203
  * @private
136
204
  */
137
205
  DialogInteractionService.prototype.dialogService;
206
+ /**
207
+ * @type {?}
208
+ * @private
209
+ */
210
+ DialogInteractionService.prototype.router;
138
211
  /** @type {?} */
139
212
  DialogInteractionService.prototype.dialogServiceDefaults;
140
213
  /** @type {?} */
141
214
  DialogInteractionService.prototype.matDialogDefaultConfig;
142
215
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRzVELE1BQU0sT0FBTyxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUNBQXFDLENBQUM7QUFLbEksTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjs7Ozs7O0lBRTlELFlBQTZCLGFBQXdCLEVBQ3lCLHFCQUEyQyxFQUNwRCxzQkFBNEM7UUFFL0csS0FBSyxFQUFFLENBQUM7UUFKbUIsa0JBQWEsR0FBYixhQUFhLENBQVc7UUFDeUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUNwRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXNCO1FBRy9HLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7Ozs7OztJQUVELGFBQWEsQ0FBVSxZQUE4QyxFQUFFLElBQVE7UUFDN0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7Ozs7SUFFTyxjQUFjLENBQVUsWUFBOEMsRUFBRSxJQUFPLEVBQUUsZUFBd0IsSUFBSTs7Y0FDN0csTUFBTSxtQkFDVixTQUFTLEVBQUUsS0FBSyxFQUNoQixXQUFXLEVBQUUsSUFBSSxJQUNkLElBQUksQ0FBQyxzQkFBc0IsRUFDM0IsSUFBSSxDQUFDLHFCQUFxQixFQUMxQjtZQUNELElBQUk7WUFDSixZQUFZO1lBQ1osVUFBVSxFQUFFLDRCQUE0QjtTQUN6QyxDQUNGOztjQUNLLFlBQVksR0FBRyxtQkFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQUMsRUFBNEM7UUFDNUgsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7O2tCQUNsQyxpQkFBaUIsR0FBRyxZQUFZLENBQUMsaUJBQWlCO1lBQ3hELGlCQUFpQixDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztZQUNsRCxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7Z0JBQzNCLGFBQWEsRUFBRSxZQUFZO2dCQUMzQixZQUFZLEVBQUUsSUFBSTs7Ozs7Z0JBQ2xCLE1BQU0sQ0FBQyxNQUFNO29CQUNYLGlEQUFpRDtvQkFDakQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNoQixZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3QixDQUFDOzs7OztnQkFDRCxRQUFRLENBQUMsS0FBSztvQkFDWixnREFBZ0Q7b0JBQ2hELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDZCxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzVCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFRCxLQUFLLENBQUMsS0FBWTtRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Ozs7O0lBRUQsT0FBTyxDQUFDLE9BQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7Ozs7Ozs7SUFFRCxXQUFXLENBQVUsT0FBZ0IsRUFBRSxZQUE4QyxFQUFFLElBQVE7UUFDN0YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUErQywwQkFBMEIsRUFBRTtZQUNuRyxPQUFPO1lBQ1AsWUFBWSxFQUFFLFlBQVk7WUFDMUIsSUFBSSxFQUFFLElBQUk7U0FDWCxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7O1lBbEVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQWxCUSxTQUFTO1lBQ21CLGVBQWUsdUJBcUJyQyxRQUFRLFlBQUksTUFBTSxTQUFDLG1DQUFtQztZQXJCaEMsZUFBZSx1QkFzQnJDLFFBQVEsWUFBSSxNQUFNLFNBQUMsMEJBQTBCOzs7Ozs7OztJQUY5QyxpREFBeUM7O0lBQ3pDLHlEQUE2Rzs7SUFDN0csMERBQXFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vYWxlcnQnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4uL2NvbmZpcm0nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cblxuZXhwb3J0IGNvbnN0IERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTID0gbmV3IEluamVjdGlvblRva2VuPE1hdERpYWxvZ0NvbmZpZzxhbnk+PignRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nSW50ZXJhY3Rpb25TZXJ2aWNlIGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUykgcmVhZG9ubHkgZGlhbG9nU2VydmljZURlZmF1bHRzOiBNYXREaWFsb2dDb25maWc8YW55PixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUykgcmVhZG9ubHkgbWF0RGlhbG9nRGVmYXVsdENvbmZpZzogTWF0RGlhbG9nQ29uZmlnPGFueT5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9zdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBjb25zdCBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIC4uLnRoaXMubWF0RGlhbG9nRGVmYXVsdENvbmZpZyxcbiAgICAgIC4uLnRoaXMuZGlhbG9nU2VydmljZURlZmF1bHRzLFxuICAgICAgLi4ue1xuICAgICAgICBkYXRhLFxuICAgICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctaW50ZXJhY3Rpb24tc2VydmljZSdcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG1hdERpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LCBjb25maWcpIGFzIE1hdERpYWxvZ1JlZjxBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudD47XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgYWN0aXZpdHlDb250YWluZXIucGFyZW50SW50ZXJhY3Rpb25Db250ZXh0ID0gdGhpcztcbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxpc2Uoe1xuICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgIGFjdGl2aXR5RGF0YTogZGF0YSxcbiAgICAgICAgb25Eb25lKHJlc3VsdCkge1xuICAgICAgICAgIC8vIFRPRE86IHNob3VsZCBJIGJlIGNhbGxpbmcgcmVzb2x2ZSBhZnRlciBjbG9zZT9cbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgLy8gVE9ETzogc2hvdWxkIEkgYmUgY2FsbGluZyByZWplY3QgYWZ0ZXIgY2xvc2U/XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICBtYXREaWFsb2dSZWYuY2xvc2UoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCwgZmFsc2UpO1xuICB9XG5cbiAgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBjb25maXJtLCB0cnVlKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQsIFIsIEU+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHk8Q29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQuRGF0YTxELFIsRT4sIFIsIEU+KENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBjb25maXJtLFxuICAgICAgYWN0aXZpdHlUeXBlOiBhY3Rpdml0eVR5cGUsXG4gICAgICBkYXRhOiBkYXRhXG4gICAgfSwgdHJ1ZSk7XG4gIH1cblxufVxuIl19
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDM0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDN0csT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFFOUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBRTVELE1BQU0sT0FBTyxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUNBQXFDLENBQUM7QUFLbEksTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjs7Ozs7OztJQU05RCxZQUE2QixhQUF3QixFQUN4QixNQUFjLEVBQ21DLHFCQUEyQyxFQUNwRCxzQkFBNEM7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K0U7Ozs7O0lBQy9FLDJDQUF3Qjs7Ozs7SUFFWixpREFBeUM7Ozs7O0lBQ3pDLDBDQUErQjs7SUFDL0IseURBQTZHOztJQUM3RywwREFBcUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEZWxlZ2F0aW5nTGlzdE1vZGVsLCBEc2wsIGxhbmcsIExpc3RNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uL2FsZXJ0JztcbmltcG9ydCB7IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgY29uc3QgRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48TWF0RGlhbG9nQ29uZmlnPGFueT4+KCdESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUycpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dJbnRlcmFjdGlvblNlcnZpY2UgZXh0ZW5kcyBJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRBY3Rpdml0eTogVmFsdWVNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG4gIHByaXZhdGUgX2FjdGl2ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTKSByZWFkb25seSBkaWFsb2dTZXJ2aWNlRGVmYXVsdHM6IE1hdERpYWxvZ0NvbmZpZzxhbnk+LFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TKSByZWFkb25seSBtYXREaWFsb2dEZWZhdWx0Q29uZmlnOiBNYXREaWFsb2dDb25maWc8YW55PlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIGFzc2VydC5ub3ROaWwoZGlhbG9nU2VydmljZSk7XG4gICAgY29uc3QgeyBjaGFpbiwgb2JzZXJ2ZSB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMuY3VycmVudEFjdGl2aXR5ID0gY2hhaW4odGhpcy5hY3Rpdml0eUxpc3QpLmxhc3QoKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmU7XG4gIH1cblxuICBjYW5jZWxBY3Rpdml0eSgpIHtcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eS52YWx1ZS5jYW5jZWwobnVsbCk7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCk6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5O1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9zdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQWN0aXZpdHkgYWxyZWFkeSBpbiBwcm9ncmVzczogJHt0aGlzLmFjdGl2aXR5TGlzdC52YWx1ZS5tYXAoYSA9PiBhLmNvbnN0cnVjdG9yLm5hbWUpLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZSA9IHRydWU7XG5cbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb25zdCBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcbiAgICAgIC4uLnRoaXMubWF0RGlhbG9nRGVmYXVsdENvbmZpZyxcbiAgICAgIC4uLnRoaXMuZGlhbG9nU2VydmljZURlZmF1bHRzLFxuICAgICAgLi4ue1xuICAgICAgICBkYXRhLFxuICAgICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctaW50ZXJhY3Rpb24tc2VydmljZSdcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG1hdERpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LCBjb25maWcpIGFzIE1hdERpYWxvZ1JlZjxBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudD47XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgYWN0aXZpdHlDb250YWluZXIucGFyZW50SW50ZXJhY3Rpb25Db250ZXh0ID0gdGhpcztcbiAgICAgIHNlbGYuc2FmZWx5VXBkYXRlQWN0aXZpdHlMaXN0RGVsZWdhdGUoYWN0aXZpdHlDb250YWluZXIuYWN0aXZpdHlMaXN0KTtcbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxpc2Uoe1xuICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgIGFjdGl2aXR5RGF0YTogZGF0YSxcbiAgICAgICAgb25Eb25lKHJlc3VsdCkge1xuICAgICAgICAgIC8vIFRPRE86IHNob3VsZCBJIGJlIGNhbGxpbmcgcmVzb2x2ZSBhZnRlciBjbG9zZT9cbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgLy8gVE9ETzogc2hvdWxkIEkgYmUgY2FsbGluZyByZWplY3QgYWZ0ZXIgY2xvc2U/XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICBtYXREaWFsb2dSZWYuY2xvc2UoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG1hdERpYWxvZ1JlZi51cGRhdGVTaXplKCk7XG4gICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKG51bGwpO1xuICAgICAgc2VsZi5fYWN0aXZlID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGVoIGRlbGVnYXRlIG9uIHRoZSBuZXh0IHRpY2sgdG8gYXZvaWQgbW9kaWZ5aW5nIHN0YXRlIGR1cmluZyB0aGUgY3VycmVudCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgKiBAcGFyYW0gZGVsZWdhdGVcbiAgICovXG4gIHNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGRlbGVnYXRlOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fYWN0aXZpdHlMaXN0LnNldERlbGVnYXRlKGRlbGVnYXRlKSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgY29uZmlybSwgdHJ1ZSk7XG4gIH1cblxuICBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RCwgUiwgRT4sIFIsIEU+KENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBjb25maXJtLFxuICAgICAgYWN0aXZpdHlUeXBlOiBhY3Rpdml0eVR5cGUsXG4gICAgICBkYXRhOiBkYXRhXG4gICAgfSwgdHJ1ZSk7XG4gIH1cblxufVxuIl19