@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
@@ -0,0 +1,66 @@
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
+ var CloseInteractionGuard = /** @class */ (function () {
12
+ function CloseInteractionGuard(router, injector, interactionContext) {
13
+ this.router = router;
14
+ this.injector = injector;
15
+ this.interactionContext = interactionContext;
16
+ }
17
+ /**
18
+ * @param {?} component
19
+ * @param {?} currentRoute
20
+ * @param {?} currentState
21
+ * @param {?=} nextState
22
+ * @return {?}
23
+ */
24
+ CloseInteractionGuard.prototype.canDeactivate = /**
25
+ * @param {?} component
26
+ * @param {?} currentRoute
27
+ * @param {?} currentState
28
+ * @param {?=} nextState
29
+ * @return {?}
30
+ */
31
+ function (component, currentRoute, currentState, nextState) {
32
+ return !this.interactionContext.isActive();
33
+ };
34
+ CloseInteractionGuard.decorators = [
35
+ { type: Injectable, args: [{
36
+ providedIn: 'root'
37
+ },] }
38
+ ];
39
+ /** @nocollapse */
40
+ CloseInteractionGuard.ctorParameters = function () { return [
41
+ { type: Router },
42
+ { type: Injector },
43
+ { type: InteractionContext }
44
+ ]; };
45
+ /** @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" });
46
+ return CloseInteractionGuard;
47
+ }());
48
+ export { CloseInteractionGuard };
49
+ if (false) {
50
+ /**
51
+ * @type {?}
52
+ * @private
53
+ */
54
+ CloseInteractionGuard.prototype.router;
55
+ /**
56
+ * @type {?}
57
+ * @private
58
+ */
59
+ CloseInteractionGuard.prototype.injector;
60
+ /**
61
+ * @type {?}
62
+ * @private
63
+ */
64
+ CloseInteractionGuard.prototype.interactionContext;
65
+ }
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtaW50ZXJhY3Rpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vZ3VhcmRzL2Nsb3NlLWludGVyYWN0aW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQXlDLE1BQU0sRUFBZ0MsTUFBTSxpQkFBaUIsQ0FBQztBQUc5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUc1RDtJQUtFLCtCQUFvQixNQUFjLEVBQVUsUUFBa0IsRUFBbUIsa0JBQXNDO1FBQW5HLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQW1CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFDdkgsQ0FBQzs7Ozs7Ozs7SUFFRCw2Q0FBYTs7Ozs7OztJQUFiLFVBQWMsU0FBeUIsRUFBRSxZQUFvQyxFQUFFLFlBQWlDLEVBQUUsU0FBK0I7UUFDL0ksT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUM1QyxDQUFDOztnQkFWRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVIrQyxNQUFNO2dCQURqQyxRQUFRO2dCQUlwQixrQkFBa0I7OztnQ0FKM0I7Q0FtQkMsQUFaRCxJQVlDO1NBVFkscUJBQXFCOzs7Ozs7SUFFcEIsdUNBQXNCOzs7OztJQUFFLHlDQUEwQjs7Ozs7SUFBRSxtREFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UvcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENsb3NlSW50ZXJhY3Rpb25HdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+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,25 +2,44 @@
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 var INTERACTION_CONTEXT = new InjectionToken('InteractionContext');
5
+ import * as tslib_1 from "tslib";
6
+ import { GarbageCollector } from '@coolon/pectin';
8
7
  /**
9
8
  * @abstract
10
9
  */
11
10
  var /**
12
11
  * @abstract
13
12
  */
14
- InteractionContext = /** @class */ (function () {
13
+ InteractionContext = /** @class */ (function (_super) {
14
+ tslib_1.__extends(InteractionContext, _super);
15
15
  function InteractionContext() {
16
+ return _super.call(this) || this;
16
17
  }
17
18
  return InteractionContext;
18
- }());
19
+ }(GarbageCollector));
19
20
  /**
20
21
  * @abstract
21
22
  */
22
23
  export { InteractionContext };
23
24
  if (false) {
25
+ /**
26
+ * Returns the activity that is currently active.
27
+ * This model is only updated in the next tick after the view has been updated.
28
+ * @type {?}
29
+ */
30
+ InteractionContext.prototype.currentActivity;
31
+ /**
32
+ * Returns the current list of activities that are in progress.
33
+ * This model is only updated in the next tick after the view has been updated.
34
+ * @type {?}
35
+ */
36
+ InteractionContext.prototype.activityList;
37
+ /**
38
+ * Returns true if an activity is currently running.
39
+ * @abstract
40
+ * @return {?}
41
+ */
42
+ InteractionContext.prototype.isActive = function () { };
24
43
  /**
25
44
  * @abstract
26
45
  * @template D, R, E
@@ -52,4 +71,4 @@ if (false) {
52
71
  */
53
72
  InteractionContext.prototype.alert = function (alert) { };
54
73
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vQyxNQUFNLEtBQU8sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQU0sb0JBQW9CLENBQUM7Ozs7QUFFaEY7Ozs7SUFBQTtJQWdCQSxDQUFDO0lBQUQseUJBQUM7QUFBRCxDQUFDLEFBaEJELElBZ0JDOzs7Ozs7Ozs7Ozs7O0lBZEMsK0VBQXNHOzs7Ozs7SUFHdEcsOERBQWtEOzs7Ozs7Ozs7O0lBUWxELHNGQUFzSDs7Ozs7O0lBRXRILDBEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcblxuZXhwb3J0IGNvbnN0IElOVEVSQUNUSU9OX0NPTlRFWFQgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignSW50ZXJhY3Rpb25Db250ZXh0Jyk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIGFic3RyYWN0IHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG5cbiAgYWJzdHJhY3QgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUHJlc2VudHMgdGhlIGNvbmZpcm1hdGlvbiB0byB0aGUgdXNlciBhbmQgcnVucyB0aGUgYWN0aXZpdHkgb25seSBpZiB0aGUgdXNlciBjb25maXJtcy5cbiAgICogQHBhcmFtIGNvbmZpcm06Q29uZmlybSB0aGUgY29uZmlybWF0aW9uIHRvIGRpc3BsYXkuXG4gICAqIEBwYXJhbSBhY3Rpdml0eVR5cGUgdGhlIGFjdGl2aXR5IHRvIHJ1biBpZiBjb25maXJtZWQuXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBhY3Rpdml0eSBkYXRhLlxuICAgKi9cbiAgYWJzdHJhY3QgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG4gIGFic3RyYWN0IGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD47XG59XG5cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixnQkFBZ0IsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUt4Rjs7OztJQUFpRCw4Q0FBZ0I7SUFjL0Q7ZUFDRSxpQkFBTztJQUNULENBQUM7SUFxQkgseUJBQUM7QUFBRCxDQUFDLEFBckNELENBQWlELGdCQUFnQixHQXFDaEU7Ozs7Ozs7Ozs7O0lBL0JDLDZDQUFrRTs7Ozs7O0lBTWxFLDBDQUE4RDs7Ozs7O0lBUzlELHdEQUE2Qjs7Ozs7Ozs7SUFFN0IsK0VBQXNHOzs7Ozs7SUFFdEcsOERBQWtEOzs7Ozs7Ozs7O0lBUWxELHNGQUFzSDs7Ozs7O0lBRXRILDBEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdGFibGUsIEdhcmJhZ2VDb2xsZWN0b3IsIExpc3RNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHQgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYWN0aXZpdHkgdGhhdCBpcyBjdXJyZW50bHkgYWN0aXZlLlxuICAgKiBUaGlzIG1vZGVsIGlzIG9ubHkgdXBkYXRlZCBpbiB0aGUgbmV4dCB0aWNrIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBjdXJyZW50QWN0aXZpdHk6IFZhbHVlTW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PjtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBsaXN0IG9mIGFjdGl2aXRpZXMgdGhhdCBhcmUgaW4gcHJvZ3Jlc3MuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGFjdGl2aXR5TGlzdDogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gYWN0aXZpdHkgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqL1xuICBhYnN0cmFjdCBpc0FjdGl2ZSgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG4gIGFic3RyYWN0IGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFByZXNlbnRzIHRoZSBjb25maXJtYXRpb24gdG8gdGhlIHVzZXIgYW5kIHJ1bnMgdGhlIGFjdGl2aXR5IG9ubHkgaWYgdGhlIHVzZXIgY29uZmlybXMuXG4gICAqIEBwYXJhbSBjb25maXJtOkNvbmZpcm0gdGhlIGNvbmZpcm1hdGlvbiB0byBkaXNwbGF5LlxuICAgKiBAcGFyYW0gYWN0aXZpdHlUeXBlIHRoZSBhY3Rpdml0eSB0byBydW4gaWYgY29uZmlybWVkLlxuICAgKiBAcGFyYW0gZGF0YSB0aGUgYWN0aXZpdHkgZGF0YS5cbiAgICovXG4gIGFic3RyYWN0IGNvbmZpcm1UaGVuPEQsIFIsIEU+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPjtcblxuICBhYnN0cmFjdCBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+O1xuXG59XG5cbiJdfQ==
@@ -6,6 +6,8 @@ import * as tslib_1 from "tslib";
6
6
  import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
7
7
  import { MatDialog } from '@angular/material';
8
8
  import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/dialog';
9
+ import { Router } from '@angular/router';
10
+ import { DelegatingListModel, Dsl, lang } from '@coolon/pectin';
9
11
  import { assert } from '@coolon/typescript-utilities';
10
12
  import { ActivityContainerComponent } from '../components/activity-container/activity-container.component';
11
13
  import { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';
@@ -14,18 +16,52 @@ import { ConfirmationDialogComponent } from '../components/confirmation-dialog/c
14
16
  import { InteractionContext } from '../interaction-context';
15
17
  import * as i0 from "@angular/core";
16
18
  import * as i1 from "@angular/material/dialog";
19
+ import * as i2 from "@angular/router";
17
20
  /** @type {?} */
18
21
  export var DIALOG_INTERACTION_SERVICE_DEFAULTS = new InjectionToken('DIALOG_INTERACTION_SERVICE_DEFAULTS');
19
22
  var DialogInteractionService = /** @class */ (function (_super) {
20
23
  tslib_1.__extends(DialogInteractionService, _super);
21
- function DialogInteractionService(dialogService, dialogServiceDefaults, matDialogDefaultConfig) {
24
+ function DialogInteractionService(dialogService, router, dialogServiceDefaults, matDialogDefaultConfig) {
22
25
  var _this = _super.call(this) || this;
23
26
  _this.dialogService = dialogService;
27
+ _this.router = router;
24
28
  _this.dialogServiceDefaults = dialogServiceDefaults;
25
29
  _this.matDialogDefaultConfig = matDialogDefaultConfig;
30
+ _this._activityList = new DelegatingListModel();
31
+ _this._active = false;
26
32
  assert.notNil(dialogService);
33
+ var _a = Dsl.disposeWith(_this), chain = _a.chain, observe = _a.observe;
34
+ _this.currentActivity = chain(_this.activityList).last();
27
35
  return _this;
28
36
  }
37
+ /**
38
+ * @return {?}
39
+ */
40
+ DialogInteractionService.prototype.isActive = /**
41
+ * @return {?}
42
+ */
43
+ function () {
44
+ return this._active;
45
+ };
46
+ /**
47
+ * @return {?}
48
+ */
49
+ DialogInteractionService.prototype.cancelActivity = /**
50
+ * @return {?}
51
+ */
52
+ function () {
53
+ this.currentActivity.value.cancel(null);
54
+ };
55
+ Object.defineProperty(DialogInteractionService.prototype, "activityList", {
56
+ get: /**
57
+ * @return {?}
58
+ */
59
+ function () {
60
+ return this._activityList.readonly;
61
+ },
62
+ enumerable: true,
63
+ configurable: true
64
+ });
29
65
  /**
30
66
  * @template D, R, E
31
67
  * @param {?} activityType
@@ -60,8 +96,18 @@ var DialogInteractionService = /** @class */ (function (_super) {
60
96
  function (activityType, data, disableClose) {
61
97
  var _this = this;
62
98
  if (disableClose === void 0) { disableClose = true; }
99
+ if (this.isActive()) {
100
+ lang.illegalState("Activity already in progress: " + this.activityList.value.map((/**
101
+ * @param {?} a
102
+ * @return {?}
103
+ */
104
+ function (a) { return a.constructor.name; })).join(', '));
105
+ }
106
+ this._active = true;
63
107
  /** @type {?} */
64
- var config = tslib_1.__assign({ autoFocus: false, hasBackdrop: true }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
108
+ var self = this;
109
+ /** @type {?} */
110
+ var config = tslib_1.__assign({ autoFocus: false, hasBackdrop: true, closeOnNavigation: false }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
65
111
  data: data,
66
112
  disableClose: disableClose,
67
113
  panelClass: 'dialog-interaction-service'
@@ -77,6 +123,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
77
123
  /** @type {?} */
78
124
  var activityContainer = matDialogRef.componentInstance;
79
125
  activityContainer.parentInteractionContext = _this;
126
+ self.safelyUpdateActivityListDelegate(activityContainer.activityList);
80
127
  activityContainer.initialise({
81
128
  activityClass: activityType,
82
129
  activityData: data,
@@ -100,8 +147,35 @@ var DialogInteractionService = /** @class */ (function (_super) {
100
147
  }
101
148
  });
102
149
  matDialogRef.updateSize();
150
+ })).finally((/**
151
+ * @return {?}
152
+ */
153
+ function () {
154
+ self.safelyUpdateActivityListDelegate(null);
155
+ self._active = false;
103
156
  }));
104
157
  };
158
+ /**
159
+ * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
160
+ * @param delegate
161
+ */
162
+ /**
163
+ * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
164
+ * @param {?} delegate
165
+ * @return {?}
166
+ */
167
+ DialogInteractionService.prototype.safelyUpdateActivityListDelegate = /**
168
+ * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
169
+ * @param {?} delegate
170
+ * @return {?}
171
+ */
172
+ function (delegate) {
173
+ var _this = this;
174
+ setTimeout((/**
175
+ * @return {?}
176
+ */
177
+ function () { return _this._activityList.setDelegate(delegate); }));
178
+ };
105
179
  /**
106
180
  * @param {?} alert
107
181
  * @return {?}
@@ -153,22 +227,40 @@ var DialogInteractionService = /** @class */ (function (_super) {
153
227
  /** @nocollapse */
154
228
  DialogInteractionService.ctorParameters = function () { return [
155
229
  { type: MatDialog },
230
+ { type: Router },
156
231
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [DIALOG_INTERACTION_SERVICE_DEFAULTS,] }] },
157
232
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DIALOG_DEFAULT_OPTIONS,] }] }
158
233
  ]; };
159
- /** @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" });
234
+ /** @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" });
160
235
  return DialogInteractionService;
161
236
  }(InteractionContext));
162
237
  export { DialogInteractionService };
163
238
  if (false) {
239
+ /** @type {?} */
240
+ DialogInteractionService.prototype.currentActivity;
241
+ /**
242
+ * @type {?}
243
+ * @private
244
+ */
245
+ DialogInteractionService.prototype._activityList;
246
+ /**
247
+ * @type {?}
248
+ * @private
249
+ */
250
+ DialogInteractionService.prototype._active;
164
251
  /**
165
252
  * @type {?}
166
253
  * @private
167
254
  */
168
255
  DialogInteractionService.prototype.dialogService;
256
+ /**
257
+ * @type {?}
258
+ * @private
259
+ */
260
+ DialogInteractionService.prototype.router;
169
261
  /** @type {?} */
170
262
  DialogInteractionService.prototype.dialogServiceDefaults;
171
263
  /** @type {?} */
172
264
  DialogInteractionService.prototype.matDialogDefaultConfig;
173
265
  }
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUU5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUc1RCxNQUFNLEtBQU8sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDO0FBRWxJO0lBRzhDLG9EQUFrQjtJQUU5RCxrQ0FBNkIsYUFBd0IsRUFDeUIscUJBQTJDLEVBQ3BELHNCQUE0QztRQUZqSCxZQUlFLGlCQUFPLFNBRVI7UUFONEIsbUJBQWEsR0FBYixhQUFhLENBQVc7UUFDeUIsMkJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUNwRCw0QkFBc0IsR0FBdEIsc0JBQXNCLENBQXNCO1FBRy9HLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7O0lBQy9CLENBQUM7Ozs7Ozs7SUFFRCxnREFBYTs7Ozs7O0lBQWIsVUFBdUIsWUFBOEMsRUFBRSxJQUFRO1FBQzdFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Ozs7Ozs7O0lBRU8saURBQWM7Ozs7Ozs7O0lBQXRCLFVBQWdDLFlBQThDLEVBQUUsSUFBTyxFQUFFLFlBQTRCO1FBQXJILGlCQWlDQztRQWpDd0YsNkJBQUEsRUFBQSxtQkFBNEI7O1lBQzdHLE1BQU0sc0JBQ1YsU0FBUyxFQUFFLEtBQUssRUFDaEIsV0FBVyxFQUFFLElBQUksSUFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFDMUI7WUFDRCxJQUFJLE1BQUE7WUFDSixZQUFZLGNBQUE7WUFDWixVQUFVLEVBQUUsNEJBQTRCO1NBQ3pDLENBQ0Y7O1lBQ0ssWUFBWSxHQUFHLG1CQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxFQUE0QztRQUM1SCxPQUFPLElBQUksT0FBTzs7Ozs7UUFBSSxVQUFDLE9BQU8sRUFBRSxNQUFNOztnQkFDOUIsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLGlCQUFpQjtZQUN4RCxpQkFBaUIsQ0FBQyx3QkFBd0IsR0FBRyxLQUFJLENBQUM7WUFDbEQsaUJBQWlCLENBQUMsVUFBVSxDQUFDO2dCQUMzQixhQUFhLEVBQUUsWUFBWTtnQkFDM0IsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLE1BQU07Ozs7MEJBQUMsTUFBTTtvQkFDWCxpREFBaUQ7b0JBQ2pELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDaEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0IsQ0FBQztnQkFDRCxRQUFROzs7OzBCQUFDLEtBQUs7b0JBQ1osZ0RBQWdEO29CQUNoRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2QsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsQ0FBQzthQUNGLENBQUMsQ0FBQztZQUVILFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRUQsd0NBQUs7Ozs7SUFBTCxVQUFNLEtBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELDBDQUFPOzs7O0lBQVAsVUFBUSxPQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Ozs7Ozs7O0lBRUQsOENBQVc7Ozs7Ozs7SUFBWCxVQUFxQixPQUFnQixFQUFFLFlBQThDLEVBQUUsSUFBUTtRQUM3RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQStDLDBCQUEwQixFQUFFO1lBQ25HLE9BQU8sU0FBQTtZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7O2dCQWxFRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQWxCUSxTQUFTO2dCQUNtQixlQUFlLHVCQXFCckMsUUFBUSxZQUFJLE1BQU0sU0FBQyxtQ0FBbUM7Z0JBckJoQyxlQUFlLHVCQXNCckMsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7OzttQ0F4QjVEO0NBcUZDLEFBcEVELENBRzhDLGtCQUFrQixHQWlFL0Q7U0FqRVksd0JBQXdCOzs7Ozs7SUFFdkIsaURBQXlDOztJQUN6Qyx5REFBNkc7O0lBQzdHLDBEQUFxRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uL2FsZXJ0JztcbmltcG9ydCB7IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5cbmV4cG9ydCBjb25zdCBESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXREaWFsb2dDb25maWc8YW55Pj4oJ0RJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMpIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2VEZWZhdWx0czogTWF0RGlhbG9nQ29uZmlnPGFueT4sXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAuLi50aGlzLmRpYWxvZ1NlcnZpY2VEZWZhdWx0cyxcbiAgICAgIC4uLntcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZGlzYWJsZUNsb3NlLFxuICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLXNlcnZpY2UnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ+O1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBhY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLnBhcmVudEludGVyYWN0aW9uQ29udGV4dCA9IHRoaXM7XG4gICAgICBhY3Rpdml0eUNvbnRhaW5lci5pbml0aWFsaXNlKHtcbiAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICAvLyBUT0RPOiBzaG91bGQgSSBiZSBjYWxsaW5nIHJlc29sdmUgYWZ0ZXIgY2xvc2U/XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbChlcnJvcikge1xuICAgICAgICAgIC8vIFRPRE86IHNob3VsZCBJIGJlIGNhbGxpbmcgcmVqZWN0IGFmdGVyIGNsb3NlP1xuICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG1hdERpYWxvZ1JlZi51cGRhdGVTaXplKCk7XG4gICAgfSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgY29uZmlybSwgdHJ1ZSk7XG4gIH1cblxuICBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RCxSLEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG5cbn1cbiJdfQ==
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQXlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQUU1RCxNQUFNLEtBQU8sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDO0FBRWxJO0lBRzhDLG9EQUFrQjtJQU05RCxrQ0FBNkIsYUFBd0IsRUFDeEIsTUFBYyxFQUNtQyxxQkFBMkMsRUFDcEQsc0JBQTRDO1FBSGpILFlBS0UsaUJBQU8sU0FJ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TTtnQkFEc0IsZUFBZSx1QkEwQnJDLFFBQVEsWUFBSSxNQUFNLFNBQUMsbUNBQW1DO2dCQTFCaEMsZUFBZSx1QkEyQnJDLFFBQVEsWUFBSSxNQUFNLFNBQUMsMEJBQTBCOzs7bUNBN0I1RDtDQXlIQyxBQXhHRCxDQUc4QyxrQkFBa0IsR0FxRy9EO1NBckdZLHdCQUF3Qjs7O0lBRW5DLG1EQUF5RDs7Ozs7SUFDekQsaURBQStFOzs7OztJQUMvRSwyQ0FBd0I7Ozs7O0lBRVosaURBQXlDOzs7OztJQUN6QywwQ0FBK0I7O0lBQy9CLHlEQUE2Rzs7SUFDN0csMERBQXFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGVsZWdhdGluZ0xpc3RNb2RlbCwgRHNsLCBsYW5nLCBMaXN0TW9kZWwsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcblxuZXhwb3J0IGNvbnN0IERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTID0gbmV3IEluamVjdGlvblRva2VuPE1hdERpYWxvZ0NvbmZpZzxhbnk+PignRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nSW50ZXJhY3Rpb25TZXJ2aWNlIGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICByZWFkb25seSBjdXJyZW50QWN0aXZpdHk6IFZhbHVlTW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0ID0gbmV3IERlbGVnYXRpbmdMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PigpO1xuICBwcml2YXRlIF9hY3RpdmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUykgcmVhZG9ubHkgZGlhbG9nU2VydmljZURlZmF1bHRzOiBNYXREaWFsb2dDb25maWc8YW55PixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUykgcmVhZG9ubHkgbWF0RGlhbG9nRGVmYXVsdENvbmZpZzogTWF0RGlhbG9nQ29uZmlnPGFueT5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICAgIGNvbnN0IHsgY2hhaW4sIG9ic2VydmUgfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eSA9IGNoYWluKHRoaXMuYWN0aXZpdHlMaXN0KS5sYXN0KCk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xuICB9XG5cbiAgY2FuY2VsQWN0aXZpdHkoKSB7XG4gICAgdGhpcy5jdXJyZW50QWN0aXZpdHkudmFsdWUuY2FuY2VsKG51bGwpO1xuICB9XG5cbiAgZ2V0IGFjdGl2aXR5TGlzdCgpOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5TGlzdC5yZWFkb25seTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYEFjdGl2aXR5IGFscmVhZHkgaW4gcHJvZ3Jlc3M6ICR7dGhpcy5hY3Rpdml0eUxpc3QudmFsdWUubWFwKGEgPT4gYS5jb25zdHJ1Y3Rvci5uYW1lKS5qb2luKCcsICcpfWApO1xuICAgIH1cbiAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xuXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXG4gICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAuLi50aGlzLmRpYWxvZ1NlcnZpY2VEZWZhdWx0cyxcbiAgICAgIC4uLntcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZGlzYWJsZUNsb3NlLFxuICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLXNlcnZpY2UnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ+O1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBhY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLnBhcmVudEludGVyYWN0aW9uQ29udGV4dCA9IHRoaXM7XG4gICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGFjdGl2aXR5Q29udGFpbmVyLmFjdGl2aXR5TGlzdCk7XG4gICAgICBhY3Rpdml0eUNvbnRhaW5lci5pbml0aWFsaXNlKHtcbiAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICAvLyBUT0RPOiBzaG91bGQgSSBiZSBjYWxsaW5nIHJlc29sdmUgYWZ0ZXIgY2xvc2U/XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbChlcnJvcikge1xuICAgICAgICAgIC8vIFRPRE86IHNob3VsZCBJIGJlIGNhbGxpbmcgcmVqZWN0IGFmdGVyIGNsb3NlP1xuICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgc2VsZi5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShudWxsKTtcbiAgICAgIHNlbGYuX2FjdGl2ZSA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBVcGRhdGVzIHRlaCBkZWxlZ2F0ZSBvbiB0aGUgbmV4dCB0aWNrIHRvIGF2b2lkIG1vZGlmeWluZyBzdGF0ZSBkdXJpbmcgdGhlIGN1cnJlbnQgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgICogQHBhcmFtIGRlbGVnYXRlXG4gICAqL1xuICBzYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShkZWxlZ2F0ZTogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2FjdGl2aXR5TGlzdC5zZXREZWxlZ2F0ZShkZWxlZ2F0ZSkpO1xuICB9XG5cbiAgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoQWxlcnREaWFsb2dDb21wb25lbnQsIGFsZXJ0LCBmYWxzZSk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbiAgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG5cbn1cbiJdfQ==
@@ -2,14 +2,45 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
+ import * as tslib_1 from "tslib";
6
+ import { Location } from '@angular/common';
5
7
  import { Injectable, Injector } from '@angular/core';
6
- import { Router } from '@angular/router';
8
+ import { NavigationEnd, NavigationError, Router } from '@angular/router';
9
+ import { Trace } from '@coolon/pectin';
10
+ import { InteractionContext } from '../../interaction/interaction-context';
11
+ import { PlaceComponent } from '../place-component';
7
12
  import * as i0 from "@angular/core";
8
13
  import * as i1 from "@angular/router";
14
+ import * as i2 from "../../interaction/interaction-context";
15
+ import * as i3 from "@angular/common";
9
16
  var LeavePlaceGuard = /** @class */ (function () {
10
- function LeavePlaceGuard(router, injector) {
17
+ function LeavePlaceGuard(router, injector, interactionContext, location) {
11
18
  this.router = router;
12
19
  this.injector = injector;
20
+ this.interactionContext = interactionContext;
21
+ this.location = location;
22
+ // TODO: should probably replace this with a RouteTracker thingy.
23
+ this._alreadyAccepted = [];
24
+ console.log('***** Created new guard ******');
25
+ /** @type {?} */
26
+ var self = this;
27
+ this.router.events.subscribe((/**
28
+ * @param {?} event
29
+ * @return {?}
30
+ */
31
+ function (event) {
32
+ // NavigationStart -> .... -> NavigationCancel === redirect (so don't ask again)
33
+ // NavigationStart -> .... -> NavigationEnd === navigated (so ask next time)
34
+ // NavigationStart -> .... -> NavigationError === canceled (guard cancelled so ask next time)
35
+ if (event instanceof NavigationEnd) {
36
+ console.log('navigation ended');
37
+ self._alreadyAccepted = [];
38
+ }
39
+ if (event instanceof NavigationError) {
40
+ console.log('navigation errored');
41
+ self._alreadyAccepted = [];
42
+ }
43
+ }));
13
44
  }
14
45
  /**
15
46
  * @param {?} component
@@ -26,27 +57,106 @@ var LeavePlaceGuard = /** @class */ (function () {
26
57
  * @return {?}
27
58
  */
28
59
  function (component, currentRoute, currentState, nextState) {
29
- // HACK: this will break with child routes...
60
+ var _this = this;
30
61
  /** @type {?} */
31
- var path = "/" + component.placeDefinition.path;
32
- // let thisTree = this.router.parseUrl(currentState.url);
33
- // let nextTree = this.router.parseUrl(nextState.url);
34
- // console.log({
35
- // placePath: path,
36
- // currentRoute: currentRoute.toString(),
37
- // currentStateUrl: currentState.url,
38
- // nextStateUrl: nextState.url,
39
- // currentStateUrlTree: thisTree.root.children[PRIMARY_OUTLET].segments,
40
- // nextStateUrlTree: nextTree.root.children[PRIMARY_OUTLET].segments
41
- // });
42
- // nextState is the full path...
43
- if (!nextState.url.startsWith(path)) {
44
- return component.canDeactivate();
62
+ var placeDefinitionPath = "/" + component.placeDefinition.path;
63
+ console.log('canDeactivate', {
64
+ staticPath: placeDefinitionPath,
65
+ currentStateUrl: currentState.url,
66
+ nextStateUrl: nextState.url,
67
+ alreadyDeclined: this._alreadyAccepted
68
+ });
69
+ // Example of the above when navigating to a different child route.
70
+ // canDeactivate {staticPath: "/hero-details",
71
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-details",
72
+ // nextStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats"
73
+ // }
74
+ // Example clicking on router tab of the parent component (de-activates the parent due to route param changes)
75
+ // canDeactivate {
76
+ // staticPath: "/hero-stats",
77
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
78
+ // nextStateUrl: "/route-parameters/"
79
+ // }
80
+ // canDeactivate {
81
+ // staticPath: "/route-parameters",
82
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
83
+ // nextStateUrl: "/route-parameters/"
84
+ // }
85
+ // logger.class.js:54 ParameterSnapshot.sanitise -> {idModel: -1, pv: undefined, pl: Array(0), dv: undefined, dl: Array(0), …}
86
+ // parameter-snapshot.ts:20 {name: "idModel", mine: -1, theirs: null}
87
+ // place-router.ts:28 redirect path (3) ["route-parameters", "-1", {…}]
88
+ // canDeactivate {
89
+ // staticPath: "/hero-stats",
90
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
91
+ // nextStateUrl: "/route-parameters/-1"
92
+ // }
93
+ // canDeactivate {
94
+ // staticPath: "/route-parameters",
95
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
96
+ // nextStateUrl: "/route-parameters/-1"
97
+ // }
98
+ // logger.class.js:54 ParameterSnapshot.sanitise -> {idModel: -1, pv: undefined, pl: Array(0), dv: "A", dl: Array(3), …}
99
+ // parameter-snapshot.ts:20 {name: "dv", mine: "A", theirs: undefined}
100
+ // place-router.ts:28 redirect path (3) ["route-parameters", "-1", {…}]
101
+ // canDeactivate {
102
+ // staticPath: "/hero-stats",
103
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
104
+ // nextStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c"
105
+ // }
106
+ // HACK: this will break with child routes...
107
+ if (this.alreadyAccepted(component)) {
108
+ return true;
45
109
  }
46
110
  else {
111
+ if (!nextState.url.startsWith(placeDefinitionPath)) {
112
+ /** @type {?} */
113
+ var self_1 = this;
114
+ return Promise.resolve(component.canDeactivate())
115
+ .then((/**
116
+ * @param {?} canLeave
117
+ * @return {?}
118
+ */
119
+ function (canLeave) {
120
+ if (!canLeave) {
121
+ // Angular doesn't preserve the url when a guard cancels the back button.
122
+ // See https://github.com/angular/angular/issues/13586#issuecomment-432795720
123
+ _this.location.go(currentState.url);
124
+ return false;
125
+ }
126
+ else {
127
+ if (_this.interactionContext.isActive()) {
128
+ _this.interactionContext.currentActivity.value.cancel(null);
129
+ return false;
130
+ }
131
+ else {
132
+ return true;
133
+ }
134
+ }
135
+ })).then((/**
136
+ * @param {?} canDeactivate
137
+ * @return {?}
138
+ */
139
+ function (canDeactivate) {
140
+ if (canDeactivate) {
141
+ self_1._alreadyAccepted.push(component);
142
+ }
143
+ return canDeactivate;
144
+ }));
145
+ }
47
146
  return true;
48
147
  }
49
148
  };
149
+ /**
150
+ * @param {?} placeComponent
151
+ * @return {?}
152
+ */
153
+ LeavePlaceGuard.prototype.alreadyAccepted = /**
154
+ * @param {?} placeComponent
155
+ * @return {?}
156
+ */
157
+ function (placeComponent) {
158
+ return this._alreadyAccepted.includes(placeComponent);
159
+ };
50
160
  LeavePlaceGuard.decorators = [
51
161
  { type: Injectable, args: [{
52
162
  providedIn: 'root'
@@ -55,13 +165,26 @@ var LeavePlaceGuard = /** @class */ (function () {
55
165
  /** @nocollapse */
56
166
  LeavePlaceGuard.ctorParameters = function () { return [
57
167
  { type: Router },
58
- { type: Injector }
168
+ { type: Injector },
169
+ { type: InteractionContext },
170
+ { type: Location }
59
171
  ]; };
60
- /** @nocollapse */ LeavePlaceGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LeavePlaceGuard_Factory() { return new LeavePlaceGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR)); }, token: LeavePlaceGuard, providedIn: "root" });
172
+ /** @nocollapse */ LeavePlaceGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LeavePlaceGuard_Factory() { return new LeavePlaceGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.InteractionContext), i0.ɵɵinject(i3.Location)); }, token: LeavePlaceGuard, providedIn: "root" });
173
+ tslib_1.__decorate([
174
+ Trace(),
175
+ tslib_1.__metadata("design:type", Function),
176
+ tslib_1.__metadata("design:paramtypes", [PlaceComponent]),
177
+ tslib_1.__metadata("design:returntype", Boolean)
178
+ ], LeavePlaceGuard.prototype, "alreadyAccepted", null);
61
179
  return LeavePlaceGuard;
62
180
  }());
63
181
  export { LeavePlaceGuard };
64
182
  if (false) {
183
+ /**
184
+ * @type {?}
185
+ * @private
186
+ */
187
+ LeavePlaceGuard.prototype._alreadyAccepted;
65
188
  /**
66
189
  * @type {?}
67
190
  * @private
@@ -72,5 +195,9 @@ if (false) {
72
195
  * @private
73
196
  */
74
197
  LeavePlaceGuard.prototype.injector;
198
+ /** @type {?} */
199
+ LeavePlaceGuard.prototype.interactionContext;
200
+ /** @type {?} */
201
+ LeavePlaceGuard.prototype.location;
75
202
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQXlDLE1BQU0sRUFBZ0MsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSTlHO0lBS0UseUJBQW9CLE1BQWMsRUFBVSxRQUFrQjtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RCxDQUFDOzs7Ozs7OztJQUVELHVDQUFhOzs7Ozs7O0lBQWIsVUFBYyxTQUF5QixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjs7O1lBRXpJLElBQUksR0FBRyxNQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBTTtRQUNqRCx5REFBeUQ7UUFDekQsc0RBQXNEO1FBQ3RELGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsMkNBQTJDO1FBQzNDLHVDQUF1QztRQUN2QyxpQ0FBaUM7UUFDakMsMEVBQTBFO1FBQzFFLHNFQUFzRTtRQUN0RSxNQUFNO1FBRU4sZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQyxPQUFPLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUNsQzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7O2dCQTVCRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQU4rQyxNQUFNO2dCQURqQyxRQUFROzs7MEJBQTdCO0NBbUNDLEFBOUJELElBOEJDO1NBM0JZLGVBQWU7Ozs7OztJQUVkLGlDQUFzQjs7Ozs7SUFBRSxtQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGVhdmVQbGFjZUd1YXJkIGltcGxlbWVudHMgQ2FuRGVhY3RpdmF0ZTxQbGFjZUNvbXBvbmVudD4ge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICAvLyBIQUNLOiB0aGlzIHdpbGwgYnJlYWsgd2l0aCBjaGlsZCByb3V0ZXMuLi5cbiAgICBjb25zdCBwYXRoID0gYC8ke2NvbXBvbmVudC5wbGFjZURlZmluaXRpb24ucGF0aH1gO1xuICAgIC8vIGxldCB0aGlzVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKGN1cnJlbnRTdGF0ZS51cmwpO1xuICAgIC8vIGxldCBuZXh0VHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKG5leHRTdGF0ZS51cmwpO1xuICAgIC8vIGNvbnNvbGUubG9nKHtcbiAgICAvLyAgIHBsYWNlUGF0aDogcGF0aCxcbiAgICAvLyAgIGN1cnJlbnRSb3V0ZTogY3VycmVudFJvdXRlLnRvU3RyaW5nKCksXG4gICAgLy8gICBjdXJyZW50U3RhdGVVcmw6IGN1cnJlbnRTdGF0ZS51cmwsXG4gICAgLy8gICBuZXh0U3RhdGVVcmw6IG5leHRTdGF0ZS51cmwsXG4gICAgLy8gICBjdXJyZW50U3RhdGVVcmxUcmVlOiB0aGlzVHJlZS5yb290LmNoaWxkcmVuW1BSSU1BUllfT1VUTEVUXS5zZWdtZW50cyxcbiAgICAvLyAgIG5leHRTdGF0ZVVybFRyZWU6IG5leHRUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnNlZ21lbnRzXG4gICAgLy8gfSk7XG5cbiAgICAvLyBuZXh0U3RhdGUgaXMgdGhlIGZ1bGwgcGF0aC4uLlxuICAgIGlmICghbmV4dFN0YXRlLnVybC5zdGFydHNXaXRoKHBhdGgpKSB7XG4gICAgICByZXR1cm4gY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFHTCxhQUFhLEVBQ2IsZUFBZSxFQUNmLE1BQU0sRUFHUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBRXBEO0lBU0UseUJBQW9CLE1BQWMsRUFBVSxRQUFrQixFQUFXLGtCQUFzQyxFQUFXLFFBQWtCO1FBQXhILFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFXLGFBQVEsR0FBUixRQUFRLENBQVU7O1FBRnBJLHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFHOUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDOztZQUN4QyxJQUFJLEdBQUcsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxLQUFLO1lBQ2hDLGdGQUFnRjtZQUNoRiw0RUFBNEU7WUFDNUUsNkZBQTZGO1lBQzdGLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNo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OEI7UUFDNUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O2dCQTdHRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVhDLE1BQU07Z0JBTmEsUUFBUTtnQkFZcEIsa0JBQWtCO2dCQWJsQixRQUFROzs7SUEySGY7UUFEQyxLQUFLLEVBQUU7O2lEQUN3QixjQUFjOzswREFFN0M7MEJBN0hIO0NBK0hDLEFBL0dELElBK0dDO1NBNUdZLGVBQWU7Ozs7OztJQUkxQiwyQ0FBZ0Q7Ozs7O0lBRXBDLGlDQUFzQjs7Ozs7SUFBRSxtQ0FBMEI7O0lBQUUsNkNBQStDOztJQUFFLG1DQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBDYW5EZWFjdGl2YXRlLFxuICBOYXZpZ2F0aW9uRW5kLFxuICBOYXZpZ2F0aW9uRXJyb3IsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgVXJsVHJlZVxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGVhdmVQbGFjZUd1YXJkIGltcGxlbWVudHMgQ2FuRGVhY3RpdmF0ZTxQbGFjZUNvbXBvbmVudD4ge1xuXG5cbiAgLy8gVE9ETzogc2hvdWxkIHByb2JhYmx5IHJlcGxhY2UgdGhpcyB3aXRoIGEgUm91dGVUcmFja2VyIHRoaW5neS5cbiAgcHJpdmF0ZSBfYWxyZWFkeUFjY2VwdGVkOiBQbGFjZUNvbXBvbmVudFtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LCByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24pIHtcbiAgICBjb25zb2xlLmxvZygnKioqKiogQ3JlYXRlZCBuZXcgZ3VhcmQgKioqKioqJyk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAvLyBOYXZpZ2F0aW9uU3RhcnQgLT4gLi4uLiAtPiBOYXZpZ2F0aW9uQ2FuY2VsID09PSByZWRpcmVjdCAoc28gZG9uJ3QgYXNrIGFnYWluKVxuICAgICAgLy8gTmF2aWdhdGlvblN0YXJ0IC0+IC4uLi4gLT4gTmF2aWdhdGlvbkVuZCA9PT0gbmF2aWdhdGVkIChzbyBhc2sgbmV4dCB0aW1lKVxuICAgICAgLy8gTmF2aWdhdGlvblN0YXJ0IC0+IC4uLi4gLT4gTmF2aWdhdGlvbkVycm9yID09PSBjYW5jZWxlZCAoZ3VhcmQgY2FuY2VsbGVkIHNvIGFzayBuZXh0IHRpbWUpXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCduYXZpZ2F0aW9uIGVuZGVkJyk7XG4gICAgICAgIHNlbGYuX2FscmVhZHlBY2NlcHRlZCA9IFtdO1xuICAgICAgfVxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCduYXZpZ2F0aW9uIGVycm9yZWQnKTtcbiAgICAgICAgc2VsZi5fYWxyZWFkeUFjY2VwdGVkID0gW107XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICBjb25zdCBwbGFjZURlZmluaXRpb25QYXRoID0gYC8ke2NvbXBvbmVudC5wbGFjZURlZmluaXRpb24ucGF0aH1gO1xuICAgIGNvbnNvbGUubG9nKCdjYW5EZWFjdGl2YXRlJywge1xuICAgICAgc3RhdGljUGF0aDogcGxhY2VEZWZpbml0aW9uUGF0aCxcbiAgICAgIGN1cnJlbnRTdGF0ZVVybDogY3VycmVudFN0YXRlLnVybCxcbiAgICAgIG5leHRTdGF0ZVVybDogbmV4dFN0YXRlLnVybCxcbiAgICAgIGFscmVhZHlEZWNsaW5lZDogdGhpcy5fYWxyZWFkeUFjY2VwdGVkXG4gICAgfSk7XG4gICAgLy8gRXhhbXBsZSBvZiB0aGUgYWJvdmUgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgZGlmZmVyZW50IGNoaWxkIHJvdXRlLlxuICAgIC8vIGNhbkRlYWN0aXZhdGUge3N0YXRpY1BhdGg6IFwiL2hlcm8tZGV0YWlsc1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLWRldGFpbHNcIixcbiAgICAvLyAgICBuZXh0U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiXG4gICAgLy8gfVxuXG4gICAgLy8gRXhhbXBsZSBjbGlja2luZyBvbiByb3V0ZXIgdGFiIG9mIHRoZSBwYXJlbnQgY29tcG9uZW50IChkZS1hY3RpdmF0ZXMgdGhlIHBhcmVudCBkdWUgdG8gcm91dGUgcGFyYW0gY2hhbmdlcylcbiAgICAvLyBjYW5EZWFjdGl2YXRlIHtcbiAgICAvLyAgICBzdGF0aWNQYXRoOiBcIi9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgY3VycmVudFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xO2R2PUE7ZGw9YSxiLGM7cmR2PUE7cmRsPWEsYixjL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBuZXh0U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvXCJcbiAgICAvLyB9XG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvcm91dGUtcGFyYW1ldGVyc1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzL1wiXG4gICAgLy8gfVxuICAgIC8vIGxvZ2dlci5jbGFzcy5qczo1NCBQYXJhbWV0ZXJTbmFwc2hvdC5zYW5pdGlzZSAtPiB7aWRNb2RlbDogLTEsIHB2OiB1bmRlZmluZWQsIHBsOiBBcnJheSgwKSwgZHY6IHVuZGVmaW5lZCwgZGw6IEFycmF5KDApLMKg4oCmfVxuICAgIC8vIHBhcmFtZXRlci1zbmFwc2hvdC50czoyMCB7bmFtZTogXCJpZE1vZGVsXCIsIG1pbmU6IC0xLCB0aGVpcnM6IG51bGx9XG4gICAgLy8gcGxhY2Utcm91dGVyLnRzOjI4IHJlZGlyZWN0IHBhdGggKDMpwqBbXCJyb3V0ZS1wYXJhbWV0ZXJzXCIsIFwiLTFcIiwge+KApn1dXG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xXCJcbiAgICAvLyB9XG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvcm91dGUtcGFyYW1ldGVyc1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xXCJcbiAgICAvLyB9XG4gICAgLy8gbG9nZ2VyLmNsYXNzLmpzOjU0IFBhcmFtZXRlclNuYXBzaG90LnNhbml0aXNlIC0+IHtpZE1vZGVsOiAtMSwgcHY6IHVuZGVmaW5lZCwgcGw6IEFycmF5KDApLCBkdjogXCJBXCIsIGRsOiBBcnJheSgzKSzCoOKApn1cbiAgICAvLyBwYXJhbWV0ZXItc25hcHNob3QudHM6MjAge25hbWU6IFwiZHZcIiwgbWluZTogXCJBXCIsIHRoZWlyczogdW5kZWZpbmVkfVxuICAgIC8vIHBsYWNlLXJvdXRlci50czoyOCByZWRpcmVjdCBwYXRoICgzKcKgW1wicm91dGUtcGFyYW1ldGVyc1wiLCBcIi0xXCIsIHvigKZ9XVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsY1wiXG4gICAgLy8gfVxuXG4gICAgLy8gSEFDSzogdGhpcyB3aWxsIGJyZWFrIHdpdGggY2hpbGQgcm91dGVzLi4uXG4gICAgaWYgKHRoaXMuYWxyZWFkeUFjY2VwdGVkKGNvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIW5leHRTdGF0ZS51cmwuc3RhcnRzV2l0aChwbGFjZURlZmluaXRpb25QYXRoKSkge1xuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjb21wb25lbnQuY2FuRGVhY3RpdmF0ZSgpKVxuICAgICAgICAgIC50aGVuKGNhbkxlYXZlID0+IHtcbiAgICAgICAgICAgIGlmICghY2FuTGVhdmUpIHtcbiAgICAgICAgICAgICAgLy8gQW5ndWxhciBkb2Vzbid0IHByZXNlcnZlIHRoZSB1cmwgd2hlbiBhIGd1YXJkIGNhbmNlbHMgdGhlIGJhY2sgYnV0dG9uLlxuICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTM1ODYjaXNzdWVjb21tZW50LTQzMjc5NTcyMFxuICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uLmdvKGN1cnJlbnRTdGF0ZS51cmwpO1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAodGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmN1cnJlbnRBY3Rpdml0eS52YWx1ZS5jYW5jZWwobnVsbCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkudGhlbihjYW5EZWFjdGl2YXRlID0+IHtcbiAgICAgICAgICAgIGlmIChjYW5EZWFjdGl2YXRlKSB7XG4gICAgICAgICAgICAgIHNlbGYuX2FscmVhZHlBY2NlcHRlZC5wdXNoKGNvbXBvbmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2FuRGVhY3RpdmF0ZTtcbiAgICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQFRyYWNlKClcbiAgYWxyZWFkeUFjY2VwdGVkKHBsYWNlQ29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hbHJlYWR5QWNjZXB0ZWQuaW5jbHVkZXMocGxhY2VDb21wb25lbnQpO1xuICB9XG5cbn1cbiJdfQ==
@@ -6,6 +6,6 @@ export { AngularUiPowerupsModule } from './lib/angular-ui-powerups.module';
6
6
  export { slideDownAndUpAnimation } from './lib/animations';
7
7
  export { DisposableComponent, ResizeAwareComponent, AbstractInputComponent, NumberInputComponent, PasswordInputComponent, SelectInputComponent, StringInputComponent, Bounds, Dimension, Point } from './lib/components';
8
8
  export { CommandDirective, FocusBindingDirective } from './lib/directives';
9
- export { AbstractActivity, ACTIVITY_DATA, INTERACTION_CONTEXT, InteractionContext, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmThenDialogComponent, ConfirmationDialogComponent, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from './lib/interaction';
9
+ export { AbstractActivity, ACTIVITY_DATA, InteractionContext, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmThenDialogComponent, ConfirmationDialogComponent, CloseInteractionGuard, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from './lib/interaction';
10
10
  export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent, PlaceDefinition, PlaceHistory, PlaceRouter, Place, PlaceModule, AbstractPlaceNavigationComponent, BusyOverlayComponent, EmptyStateComponent, ListPlaceNavComponent, PlaceOutletComponent, leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION, TabbedPlaceNavigationComponent, LeavePlaceGuard, PlaceRouteGuard, RouteId, RouteParameter, RouteParameterList, ParameterDefinition, ParameterSnapshot, ParameterType, RouteParameterValue } from './lib/place';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHNNQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHdEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLCtTQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDZmQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuZ3VsYXItdWktcG93ZXJ1cHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsYWNlJztcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHNNQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHdEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGlUQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDZmQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuZ3VsYXItdWktcG93ZXJ1cHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsYWNlJztcbiJdfQ==