@coolon/angular-ui-powerups 0.0.97 → 0.0.101

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 (79) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +1405 -1305
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +19 -19
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +19 -19
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +20 -6
  10. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +18 -7
  11. package/esm2015/lib/interaction/index.js +5 -4
  12. package/esm2015/lib/interaction/interaction-context.js +7 -53
  13. package/esm2015/lib/interaction/interaction.module.js +3 -3
  14. package/esm2015/lib/interaction/services/interaction.service.js +228 -0
  15. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +62 -0
  16. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +145 -0
  17. package/esm2015/lib/interaction/services/modal-interaction-context.factory.js +17 -0
  18. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +3 -3
  19. package/esm2015/lib/place/guards/abstract-place.guard.js +13 -12
  20. package/esm2015/lib/place/guards/interaction.guard.js +27 -19
  21. package/esm2015/lib/place/guards/navigation-state.js +676 -0
  22. package/esm2015/lib/place/guards/place-component-deactivation-handler.js +14 -37
  23. package/esm2015/lib/place/index.js +2 -2
  24. package/esm2015/lib/place/place-router.js +163 -161
  25. package/esm2015/lib/place/url-snapshot.js +91 -19
  26. package/esm2015/public_api.js +3 -3
  27. package/esm5/coolon-angular-ui-powerups.js +19 -19
  28. package/esm5/index.js +2 -2
  29. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +24 -15
  30. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +15 -7
  31. package/esm5/lib/interaction/index.js +5 -4
  32. package/esm5/lib/interaction/interaction-context.js +8 -61
  33. package/esm5/lib/interaction/interaction.module.js +3 -3
  34. package/esm5/lib/interaction/services/interaction.service.js +271 -0
  35. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +65 -0
  36. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +170 -0
  37. package/esm5/lib/interaction/services/modal-interaction-context.factory.js +27 -0
  38. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +3 -3
  39. package/esm5/lib/place/guards/abstract-place.guard.js +15 -14
  40. package/esm5/lib/place/guards/interaction.guard.js +25 -17
  41. package/esm5/lib/place/guards/navigation-state.js +894 -0
  42. package/esm5/lib/place/guards/place-component-deactivation-handler.js +21 -55
  43. package/esm5/lib/place/index.js +2 -2
  44. package/esm5/lib/place/place-router.js +186 -269
  45. package/esm5/lib/place/url-snapshot.js +105 -21
  46. package/esm5/public_api.js +3 -3
  47. package/fesm2015/coolon-angular-ui-powerups.js +1142 -990
  48. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  49. package/fesm5/coolon-angular-ui-powerups.js +1350 -1250
  50. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  51. package/lib/interaction/components/activity-container/activity-container.component.d.ts +2 -1
  52. package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +3 -1
  53. package/lib/interaction/index.d.ts +4 -3
  54. package/lib/interaction/interaction-context.d.ts +2 -11
  55. package/lib/interaction/services/interaction.service.d.ts +46 -0
  56. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +15 -0
  57. package/lib/interaction/services/{dialog-interaction-context.d.ts → mat-dialog-interaction/dialog-interaction-context.d.ts} +2 -2
  58. package/lib/interaction/services/modal-interaction-context.factory.d.ts +4 -0
  59. package/lib/place/guards/abstract-place.guard.d.ts +1 -1
  60. package/lib/place/guards/interaction.guard.d.ts +3 -3
  61. package/lib/place/guards/navigation-state.d.ts +124 -0
  62. package/lib/place/guards/place-component-deactivation-handler.d.ts +3 -5
  63. package/lib/place/index.d.ts +1 -1
  64. package/lib/place/place-router.d.ts +17 -24
  65. package/lib/place/url-snapshot.d.ts +18 -6
  66. package/package.json +1 -1
  67. package/schematics/place-routes/templates/place-routes.ts.template +3 -3
  68. package/styles/styles.scss +1 -1
  69. package/esm2015/lib/interaction/services/dialog-interaction-context.js +0 -163
  70. package/esm2015/lib/interaction/services/dialog-interaction.service.js +0 -151
  71. package/esm2015/lib/interaction/services/modal-interaction.service.js +0 -109
  72. package/esm2015/lib/place/guards/navigation-session.js +0 -590
  73. package/esm5/lib/interaction/services/dialog-interaction-context.js +0 -188
  74. package/esm5/lib/interaction/services/dialog-interaction.service.js +0 -179
  75. package/esm5/lib/interaction/services/modal-interaction.service.js +0 -153
  76. package/esm5/lib/place/guards/navigation-session.js +0 -741
  77. package/lib/interaction/services/dialog-interaction.service.d.ts +0 -24
  78. package/lib/interaction/services/modal-interaction.service.d.ts +0 -15
  79. package/lib/place/guards/navigation-session.d.ts +0 -96
@@ -1,188 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { Injectable } from '@angular/core';
7
- import { MatDialog } from '@angular/material';
8
- import { MatDialogConfig } from '@angular/material/dialog';
9
- import { lang, MutableValueModel } from '@coolon/pectin';
10
- import { assert } from '@coolon/typescript-utilities';
11
- import { ActivityContainerComponent } from '../components/activity-container/activity-container.component';
12
- import { InteractionContextBase } from '../interaction-context-base';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/material/dialog";
15
- var DialogInteractionContext = /** @class */ (function (_super) {
16
- tslib_1.__extends(DialogInteractionContext, _super);
17
- function DialogInteractionContext(dialogService, config) {
18
- var _this = _super.call(this) || this;
19
- _this.dialogService = dialogService;
20
- _this.config = config;
21
- _this._activeModel = new MutableValueModel(false);
22
- assert.notNil(dialogService);
23
- _this.onDispose((/**
24
- * @return {?}
25
- */
26
- function () {
27
- if (_this.isActive()) {
28
- lang.illegalState('Dispose called while active.');
29
- }
30
- }));
31
- return _this;
32
- }
33
- Object.defineProperty(DialogInteractionContext.prototype, "active", {
34
- get: /**
35
- * @return {?}
36
- */
37
- function () {
38
- return this._activeModel.readonly;
39
- },
40
- enumerable: true,
41
- configurable: true
42
- });
43
- /**
44
- * @protected
45
- * @template D, R, E
46
- * @param {?} activityType
47
- * @param {?} data
48
- * @param {?=} disableClose
49
- * @return {?}
50
- */
51
- DialogInteractionContext.prototype._startActivity = /**
52
- * @protected
53
- * @template D, R, E
54
- * @param {?} activityType
55
- * @param {?} data
56
- * @param {?=} disableClose
57
- * @return {?}
58
- */
59
- function (activityType, data, disableClose) {
60
- var _this = this;
61
- if (disableClose === void 0) { disableClose = true; }
62
- if (this.isActive()) {
63
- lang.illegalState("Activity already in progress: " + this.activityList.value.map((/**
64
- * @param {?} a
65
- * @return {?}
66
- */
67
- function (a) { return a.constructor.name; })).join(', '));
68
- }
69
- this._activeModel.value = true;
70
- this.notifyActivityStarted();
71
- /** @type {?} */
72
- var config = tslib_1.__assign({}, this.config, {
73
- data: data,
74
- disableClose: disableClose,
75
- panelClass: 'dialog-interaction-service'
76
- });
77
- /** @type {?} */
78
- var self = this;
79
- /** @type {?} */
80
- var matDialogRef = (/** @type {?} */ (this.dialogService.open(ActivityContainerComponent, config)));
81
- return new Promise((/**
82
- * @param {?} resolve
83
- * @param {?} reject
84
- * @return {?}
85
- */
86
- function (resolve, reject) {
87
- /** @type {?} */
88
- var activityContainer = matDialogRef.componentInstance;
89
- self.safelyUpdateActivityListDelegate(activityContainer.activityList);
90
- activityContainer.initialActivityOutletContext = {
91
- activityClass: activityType,
92
- activityData: data,
93
- onDone: /**
94
- * @param {?} result
95
- * @return {?}
96
- */
97
- function (result) {
98
- resolve(result);
99
- matDialogRef.close(true); // return true to let the after close listener know we've already handled it.
100
- },
101
- onCancel: /**
102
- * @param {?} error
103
- * @return {?}
104
- */
105
- function (error) {
106
- reject(error);
107
- matDialogRef.close(true); // return true to let the after close listener know we've already handled it.
108
- }
109
- };
110
- // we need to check if our onDone/onCancel methods above we called or if we were
111
- // closed by the user clicking the backdrop. If the later then we need to reject
112
- // our promise.
113
- matDialogRef.afterClosed().subscribe((/**
114
- * @param {?} promiseAlreadyFinished
115
- * @return {?}
116
- */
117
- function (promiseAlreadyFinished) {
118
- if (!promiseAlreadyFinished) {
119
- reject('auto-closed');
120
- }
121
- }));
122
- matDialogRef.updateSize();
123
- matDialogRef.afterOpened().subscribe((/**
124
- * @param {?} promiseAlreadyFinished
125
- * @return {?}
126
- */
127
- function (promiseAlreadyFinished) {
128
- matDialogRef.updateSize();
129
- }));
130
- })).finally((/**
131
- * @return {?}
132
- */
133
- function () {
134
- _this._activeModel.value = false;
135
- _this.notifyActivityFinished();
136
- self.safelyUpdateActivityListDelegate(null);
137
- }));
138
- };
139
- /**
140
- * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
141
- * @param delegate
142
- */
143
- /**
144
- * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
145
- * @param {?} delegate
146
- * @return {?}
147
- */
148
- DialogInteractionContext.prototype.safelyUpdateActivityListDelegate = /**
149
- * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
150
- * @param {?} delegate
151
- * @return {?}
152
- */
153
- function (delegate) {
154
- var _this = this;
155
- setTimeout((/**
156
- * @return {?}
157
- */
158
- function () { return _this.setActivityList(delegate); }));
159
- };
160
- DialogInteractionContext.decorators = [
161
- { type: Injectable, args: [{
162
- providedIn: 'root'
163
- },] }
164
- ];
165
- /** @nocollapse */
166
- DialogInteractionContext.ctorParameters = function () { return [
167
- { type: MatDialog },
168
- { type: MatDialogConfig }
169
- ]; };
170
- /** @nocollapse */ DialogInteractionContext.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DialogInteractionContext_Factory() { return new DialogInteractionContext(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(i1.MatDialogConfig)); }, token: DialogInteractionContext, providedIn: "root" });
171
- return DialogInteractionContext;
172
- }(InteractionContextBase));
173
- export { DialogInteractionContext };
174
- if (false) {
175
- /**
176
- * @type {?}
177
- * @private
178
- */
179
- DialogInteractionContext.prototype._activeModel;
180
- /**
181
- * @type {?}
182
- * @private
183
- */
184
- DialogInteractionContext.prototype.dialogService;
185
- /** @type {?} */
186
- DialogInteractionContext.prototype.config;
187
- }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBaUIsSUFBSSxFQUFhLGlCQUFpQixFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXRELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFFckU7SUFHOEMsb0RBQXNCO0lBSWxFLGtDQUE2QixhQUF3QixFQUFXLE1BQTRCO1FBQTVGLFlBQ0UsaUJBQU8sU0FPUjtRQVI0QixtQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUFXLFlBQU0sR0FBTixNQUFNLENBQXNCO1FBRjNFLGtCQUFZLEdBQUcsSUFBSSxpQkFBaUIsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUlwRSxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdCLEtBQUksQ0FBQyxTQUFTOzs7UUFBQztZQUNiLElBQUksS0FBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixDQUFDLENBQUM7YUFDbkQ7UUFDSCxDQUFDLEVBQUMsQ0FBQzs7SUFDTCxDQUFDO0lBRUQsc0JBQUksNENBQU07Ozs7UUFBVjtZ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QUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFWUSxTQUFTO2dCQUNULGVBQWU7OzttQ0FGeEI7Q0EwRkMsQUFqRkQsQ0FHOEMsc0JBQXNCLEdBOEVuRTtTQTlFWSx3QkFBd0I7Ozs7OztJQUVuQyxnREFBc0U7Ozs7O0lBRTFELGlEQUF5Qzs7SUFBRSwwQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBsYW5nLCBMaXN0TW9kZWwsIE11dGFibGVWYWx1ZU1vZGVsLCBWYWx1ZU1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHRCYXNlIH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLCByZWFkb25seSBjb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+KSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICAgIHRoaXMub25EaXNwb3NlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ0Rpc3Bvc2UgY2FsbGVkIHdoaWxlIGFjdGl2ZS4nKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldCBhY3RpdmUoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQWN0aXZpdHkgYWxyZWFkeSBpbiBwcm9ncmVzczogJHt0aGlzLmFjdGl2aXR5TGlzdC52YWx1ZS5tYXAoYSA9PiBhLmNvbnN0cnVjdG9yLm5hbWUpLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZU1vZGVsLnZhbHVlID0gdHJ1ZTtcbiAgICB0aGlzLm5vdGlmeUFjdGl2aXR5U3RhcnRlZCgpO1xuICAgIGNvbnN0IGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgICAuLi57XG4gICAgICAgIGRhdGEsXG4gICAgICAgIGRpc2FibGVDbG9zZSxcbiAgICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1pbnRlcmFjdGlvbi1zZXJ2aWNlJ1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4+O1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBhY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgIHNlbGYuc2FmZWx5VXBkYXRlQWN0aXZpdHlMaXN0RGVsZWdhdGUoYWN0aXZpdHlDb250YWluZXIuYWN0aXZpdHlMaXN0KTtcblxuICAgICAgYWN0aXZpdHlDb250YWluZXIuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHRydWUpOyAvLyByZXR1cm4gdHJ1ZSB0byBsZXQgdGhlIGFmdGVyIGNsb3NlIGxpc3RlbmVyIGtub3cgd2UndmUgYWxyZWFkeSBoYW5kbGVkIGl0LlxuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbChlcnJvcikge1xuICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHRydWUpOyAvLyByZXR1cm4gdHJ1ZSB0byBsZXQgdGhlIGFmdGVyIGNsb3NlIGxpc3RlbmVyIGtub3cgd2UndmUgYWxyZWFkeSBoYW5kbGVkIGl0LlxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgLy8gd2UgbmVlZCB0byBjaGVjayBpZiBvdXIgb25Eb25lL29uQ2FuY2VsIG1ldGhvZHMgYWJvdmUgd2UgY2FsbGVkIG9yIGlmIHdlIHdlcmVcbiAgICAgIC8vIGNsb3NlZCBieSB0aGUgdXNlciBjbGlja2luZyB0aGUgYmFja2Ryb3AuICBJZiB0aGUgbGF0ZXIgdGhlbiB3ZSBuZWVkIHRvIHJlamVjdFxuICAgICAgLy8gb3VyIHByb21pc2UuXG4gICAgICBtYXREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICAgIGlmICghcHJvbWlzZUFscmVhZHlGaW5pc2hlZCkge1xuICAgICAgICAgIHJlamVjdCgnYXV0by1jbG9zZWQnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgICAgbWF0RGlhbG9nUmVmLmFmdGVyT3BlbmVkKCkuc3Vic2NyaWJlKHByb21pc2VBbHJlYWR5RmluaXNoZWQgPT4ge1xuICAgICAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgICAgfSk7XG4gICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICB0aGlzLl9hY3RpdmVNb2RlbC52YWx1ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5ub3RpZnlBY3Rpdml0eUZpbmlzaGVkKCk7XG4gICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGVoIGRlbGVnYXRlIG9uIHRoZSBuZXh0IHRpY2sgdG8gYXZvaWQgbW9kaWZ5aW5nIHN0YXRlIGR1cmluZyB0aGUgY3VycmVudCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgKiBAcGFyYW0gZGVsZWdhdGVcbiAgICovXG4gIHNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGRlbGVnYXRlOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRBY3Rpdml0eUxpc3QoZGVsZWdhdGUpKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,179 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
7
- import { MatDialog } from '@angular/material';
8
- import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/dialog';
9
- import { Dsl, lang, MutableValueModel } from '@coolon/pectin';
10
- import { assert } from '@coolon/typescript-utilities';
11
- import { DialogInteractionContext } from './dialog-interaction-context';
12
- import { ModalInteractionService } from './modal-interaction.service';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/material/dialog";
15
- /** @type {?} */
16
- export var DIALOG_INTERACTION_SERVICE_DEFAULTS = new InjectionToken('DIALOG_INTERACTION_SERVICE_DEFAULTS');
17
- var DialogInteractionService = /** @class */ (function (_super) {
18
- tslib_1.__extends(DialogInteractionService, _super);
19
- function DialogInteractionService(dialogService, dialogServiceDefaults, matDialogDefaultConfig) {
20
- var _this = _super.call(this) || this;
21
- _this.dialogService = dialogService;
22
- _this.dialogServiceDefaults = dialogServiceDefaults;
23
- _this.matDialogDefaultConfig = matDialogDefaultConfig;
24
- _this._activeInteractionContextModel = new MutableValueModel();
25
- assert.notNil(dialogService);
26
- var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
27
- _this.active = chain(_this._activeInteractionContextModel).isNotNil();
28
- return _this;
29
- }
30
- /**
31
- * @param {?} disposable
32
- * @return {?}
33
- */
34
- DialogInteractionService.prototype.createInteractionContextFor = /**
35
- * @param {?} disposable
36
- * @return {?}
37
- */
38
- function (disposable) {
39
- return disposable.registerDisposable(this._createInteractionContext());
40
- };
41
- /**
42
- * @return {?}
43
- */
44
- DialogInteractionService.prototype._createInteractionContext = /**
45
- * @return {?}
46
- */
47
- function () {
48
- /** @type {?} */
49
- var config = tslib_1.__assign({ autoFocus: false, hasBackdrop: true, closeOnNavigation: false }, this.matDialogDefaultConfig, this.dialogServiceDefaults);
50
- /** @type {?} */
51
- var self = this;
52
- /** @type {?} */
53
- var dialogInteractionContext = new DialogInteractionContext(this.dialogService, config);
54
- dialogInteractionContext.registerDisposable(dialogInteractionContext.addActivityListener({
55
- onActivityStarted: /**
56
- * @return {?}
57
- */
58
- function () {
59
- self.onActivityStarted(dialogInteractionContext);
60
- },
61
- onActivityFinished: /**
62
- * @return {?}
63
- */
64
- function () {
65
- self.onActivityFinished(dialogInteractionContext);
66
- }
67
- }));
68
- return dialogInteractionContext;
69
- };
70
- /**
71
- * @return {?}
72
- */
73
- DialogInteractionService.prototype.createExclusiveInteractionContext = /**
74
- * @return {?}
75
- */
76
- function () {
77
- this.exclusiveContext = this._createInteractionContext();
78
- /** @type {?} */
79
- var self = this;
80
- this.exclusiveContext.registerDisposable({
81
- dispose: /**
82
- * @return {?}
83
- */
84
- function () {
85
- self.exclusiveContext = null;
86
- }
87
- });
88
- return this.exclusiveContext;
89
- };
90
- // @Trace()
91
- // @Trace()
92
- /**
93
- * @param {?} dialogInteractionContext
94
- * @return {?}
95
- */
96
- DialogInteractionService.prototype.onActivityStarted =
97
- // @Trace()
98
- /**
99
- * @param {?} dialogInteractionContext
100
- * @return {?}
101
- */
102
- function (dialogInteractionContext) {
103
- assert.isFalsey(this.isActive());
104
- if (this.exclusiveContext && dialogInteractionContext !== this.exclusiveContext) {
105
- lang.illegalState("Interaction started while exclusive lock active. This is usually because you using a different context during place.canDeactivate(interactionContext)");
106
- }
107
- this._activeInteractionContextModel.value = dialogInteractionContext;
108
- this.notifyActivityStarted();
109
- };
110
- // @Trace()
111
- // @Trace()
112
- /**
113
- * @param {?} dialogInteractionContext
114
- * @return {?}
115
- */
116
- DialogInteractionService.prototype.onActivityFinished =
117
- // @Trace()
118
- /**
119
- * @param {?} dialogInteractionContext
120
- * @return {?}
121
- */
122
- function (dialogInteractionContext) {
123
- assert.isTruthy(this._activeInteractionContextModel.value === dialogInteractionContext);
124
- this._activeInteractionContextModel.value = null;
125
- this.notifyActivityFinished();
126
- };
127
- /**
128
- * @return {?}
129
- */
130
- DialogInteractionService.prototype.getCurrentActivity = /**
131
- * @return {?}
132
- */
133
- function () {
134
- return tslib_1.__awaiter(this, void 0, void 0, function () {
135
- return tslib_1.__generator(this, function (_a) {
136
- assert.isTruthy(this.isActive());
137
- return [2 /*return*/, this._activeInteractionContextModel.value.getCurrentActivity()];
138
- });
139
- });
140
- };
141
- DialogInteractionService.decorators = [
142
- { type: Injectable, args: [{
143
- providedIn: 'root'
144
- },] }
145
- ];
146
- /** @nocollapse */
147
- DialogInteractionService.ctorParameters = function () { return [
148
- { type: MatDialog },
149
- { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [DIALOG_INTERACTION_SERVICE_DEFAULTS,] }] },
150
- { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DIALOG_DEFAULT_OPTIONS,] }] }
151
- ]; };
152
- /** @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" });
153
- return DialogInteractionService;
154
- }(ModalInteractionService));
155
- export { DialogInteractionService };
156
- if (false) {
157
- /**
158
- * @type {?}
159
- * @private
160
- */
161
- DialogInteractionService.prototype._activeInteractionContextModel;
162
- /** @type {?} */
163
- DialogInteractionService.prototype.active;
164
- /**
165
- * @type {?}
166
- * @private
167
- */
168
- DialogInteractionService.prototype.exclusiveContext;
169
- /**
170
- * @type {?}
171
- * @private
172
- */
173
- DialogInteractionService.prototype.dialogService;
174
- /** @type {?} */
175
- DialogInteractionService.prototype.dialogServiceDefaults;
176
- /** @type {?} */
177
- DialogInteractionService.prototype.matDialogDefaultConfig;
178
- }
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkYsT0FBTyxFQUFzQyxHQUFHLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFTLE1BQU0sZ0JBQWdCLENBQUM7QUFDekcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRXRFLE1BQU0sS0FBTyxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUNBQXFDLENBQUM7QUFFbEk7SUFHOEMsb0RBQXVCO0lBTW5FLGtDQUE2QixhQUF3QixFQUN5QixxQkFBMkMsRUFDcEQsc0JBQTRDO1FBRmpILFlBSUUsaUJBQU8sU0FJUjtRQVI0QixtQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUN5QiwyQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQ3BELDRCQUFzQixHQUF0QixzQkFBc0IsQ0FBc0I7UUFOekcsb0NBQThCLEdBQUcsSUFBSSxpQkFBaUIsRUFBc0IsQ0FBQztRQVNuRixNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZCLElBQUEsMkJBQWtG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dUJBb0JyQyxRQUFRLFlBQUksTUFBTSxTQUFDLG1DQUFtQztnQkFwQmhDLGVBQWUsdUJBcUJyQyxRQUFRLFlBQUksTUFBTSxTQUFDLDBCQUEwQjs7O21DQXZCNUQ7Q0E2RkMsQUFqRkQsQ0FHOEMsdUJBQXVCLEdBOEVwRTtTQTlFWSx3QkFBd0I7Ozs7OztJQUVuQyxrRUFBcUY7O0lBQ3JGLDBDQUF3Qzs7Ozs7SUFDeEMsb0RBQTZDOzs7OztJQUVqQyxpREFBeUM7O0lBQ3pDLHlEQUE2Rzs7SUFDN0csMERBQXFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQm9vbGVhblZhbHVlTW9kZWxDaGFpbiwgRGlzcG9zYWJsZSwgRHNsLCBsYW5nLCBNdXRhYmxlVmFsdWVNb2RlbCwgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBEaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuL2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IE1vZGFsSW50ZXJhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1pbnRlcmFjdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTID0gbmV3IEluamVjdGlvblRva2VuPE1hdERpYWxvZ0NvbmZpZzxhbnk+PignRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nSW50ZXJhY3Rpb25TZXJ2aWNlIGV4dGVuZHMgTW9kYWxJbnRlcmFjdGlvblNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX2FjdGl2ZUludGVyYWN0aW9uQ29udGV4dE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4oKTtcbiAgcmVhZG9ubHkgYWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICBwcml2YXRlIGV4Y2x1c2l2ZUNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUykgcmVhZG9ubHkgZGlhbG9nU2VydmljZURlZmF1bHRzOiBNYXREaWFsb2dDb25maWc8YW55PixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUykgcmVhZG9ubHkgbWF0RGlhbG9nRGVmYXVsdENvbmZpZzogTWF0RGlhbG9nQ29uZmlnPGFueT5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5hY3RpdmUgPSBjaGFpbih0aGlzLl9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbCkuaXNOb3ROaWwoKTtcbiAgfVxuXG4gIGNyZWF0ZUludGVyYWN0aW9uQ29udGV4dEZvcihkaXNwb3NhYmxlOiBEaXNwb3NhYmxlLkNvbGxlY3Rvcik6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIGRpc3Bvc2FibGUucmVnaXN0ZXJEaXNwb3NhYmxlKHRoaXMuX2NyZWF0ZUludGVyYWN0aW9uQ29udGV4dCgpKVxuICB9XG5cbiAgX2NyZWF0ZUludGVyYWN0aW9uQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIGNvbnN0IGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgLi4udGhpcy5tYXREaWFsb2dEZWZhdWx0Q29uZmlnLFxuICAgICAgLi4udGhpcy5kaWFsb2dTZXJ2aWNlRGVmYXVsdHNcbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgY29uc3QgZGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0ID0gbmV3IERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dCh0aGlzLmRpYWxvZ1NlcnZpY2UsIGNvbmZpZyk7XG4gICAgZGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0LnJlZ2lzdGVyRGlzcG9zYWJsZShkaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQuYWRkQWN0aXZpdHlMaXN0ZW5lcih7XG4gICAgICBvbkFjdGl2aXR5U3RhcnRlZCgpOiB2b2lkIHtcbiAgICAgICAgc2VsZi5vbkFjdGl2aXR5U3RhcnRlZChkaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQpO1xuICAgICAgfSxcbiAgICAgIG9uQWN0aXZpdHlGaW5pc2hlZCgpOiB2b2lkIHtcbiAgICAgICAgc2VsZi5vbkFjdGl2aXR5RmluaXNoZWQoZGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgcmV0dXJuIGRpYWxvZ0ludGVyYWN0aW9uQ29udGV4dDtcbiAgfVxuXG4gIGNyZWF0ZUV4Y2x1c2l2ZUludGVyYWN0aW9uQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIHRoaXMuZXhjbHVzaXZlQ29udGV4dCA9IHRoaXMuX2NyZWF0ZUludGVyYWN0aW9uQ29udGV4dCgpO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMuZXhjbHVzaXZlQ29udGV4dC5yZWdpc3RlckRpc3Bvc2FibGUoe1xuICAgICAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICAgICAgc2VsZi5leGNsdXNpdmVDb250ZXh0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5leGNsdXNpdmVDb250ZXh0O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25BY3Rpdml0eVN0YXJ0ZWQoZGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0OiBEaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICBhc3NlcnQuaXNGYWxzZXkodGhpcy5pc0FjdGl2ZSgpKTtcbiAgICBpZiAodGhpcy5leGNsdXNpdmVDb250ZXh0ICYmIGRpYWxvZ0ludGVyYWN0aW9uQ29udGV4dCAhPT0gdGhpcy5leGNsdXNpdmVDb250ZXh0KSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShcIkludGVyYWN0aW9uIHN0YXJ0ZWQgd2hpbGUgZXhjbHVzaXZlIGxvY2sgYWN0aXZlLiAgVGhpcyBpcyB1c3VhbGx5IGJlY2F1c2UgeW91IHVzaW5nIGEgZGlmZmVyZW50IGNvbnRleHQgZHVyaW5nIHBsYWNlLmNhbkRlYWN0aXZhdGUoaW50ZXJhY3Rpb25Db250ZXh0KVwiKTtcbiAgICB9XG4gICAgdGhpcy5fYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwudmFsdWUgPSBkaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQ7XG4gICAgdGhpcy5ub3RpZnlBY3Rpdml0eVN0YXJ0ZWQoKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uQWN0aXZpdHlGaW5pc2hlZChkaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQ6IERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dCkge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLl9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbC52YWx1ZSA9PT0gZGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0KTtcbiAgICB0aGlzLl9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbC52YWx1ZSA9IG51bGw7XG4gICAgdGhpcy5ub3RpZnlBY3Rpdml0eUZpbmlzaGVkKCk7XG4gIH1cblxuICBhc3luYyBnZXRDdXJyZW50QWN0aXZpdHkoKTogUHJvbWlzZTxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj4ge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLmlzQWN0aXZlKCkpO1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbC52YWx1ZS5nZXRDdXJyZW50QWN0aXZpdHkoKTtcbiAgfVxuXG5cblxuXG59XG4iXX0=
@@ -1,153 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { EventListenerList, GarbageCollector, ValueModel } from '@coolon/pectin';
7
- var Guard = /** @class */ (function (_super) {
8
- tslib_1.__extends(Guard, _super);
9
- function Guard() {
10
- return _super.call(this, { initialValue: false }) || this;
11
- }
12
- Object.defineProperty(Guard.prototype, "value", {
13
- get: /**
14
- * @return {?}
15
- */
16
- function () {
17
- return this.store.read();
18
- },
19
- enumerable: true,
20
- configurable: true
21
- });
22
- /**
23
- * @template R
24
- * @param {?} fun
25
- * @return {?}
26
- */
27
- Guard.prototype.whileTrue = /**
28
- * @template R
29
- * @param {?} fun
30
- * @return {?}
31
- */
32
- function (fun) {
33
- this.startTransaction().commit(true);
34
- try {
35
- return fun();
36
- }
37
- finally {
38
- this.startTransaction().commit(false);
39
- }
40
- };
41
- /**
42
- * @template R
43
- * @param {?} fun
44
- * @param {?=} defaultValue
45
- * @return {?}
46
- */
47
- Guard.prototype.runIfFalse = /**
48
- * @template R
49
- * @param {?} fun
50
- * @param {?=} defaultValue
51
- * @return {?}
52
- */
53
- function (fun, defaultValue) {
54
- if (defaultValue === void 0) { defaultValue = null; }
55
- return !this.value ? fun() : defaultValue;
56
- };
57
- return Guard;
58
- }(ValueModel));
59
- /**
60
- * @abstract
61
- */
62
- var /**
63
- * @abstract
64
- */
65
- ModalInteractionService = /** @class */ (function (_super) {
66
- tslib_1.__extends(ModalInteractionService, _super);
67
- function ModalInteractionService() {
68
- var _this = _super.call(this) || this;
69
- _this._activityListeners = new EventListenerList();
70
- return _this;
71
- }
72
- /**
73
- * @return {?}
74
- */
75
- ModalInteractionService.prototype.isActive = /**
76
- * @return {?}
77
- */
78
- function () {
79
- return this.active.value;
80
- };
81
- /**
82
- * @param {?} listener
83
- * @return {?}
84
- */
85
- ModalInteractionService.prototype.addActivityListener = /**
86
- * @param {?} listener
87
- * @return {?}
88
- */
89
- function (listener) {
90
- return this._activityListeners.add(listener);
91
- };
92
- /**
93
- * @protected
94
- * @return {?}
95
- */
96
- ModalInteractionService.prototype.notifyActivityStarted = /**
97
- * @protected
98
- * @return {?}
99
- */
100
- function () {
101
- this._activityListeners.fire((/**
102
- * @param {?} l
103
- * @return {?}
104
- */
105
- function (l) { return l.onActivityStarted(); }));
106
- };
107
- /**
108
- * @protected
109
- * @return {?}
110
- */
111
- ModalInteractionService.prototype.notifyActivityFinished = /**
112
- * @protected
113
- * @return {?}
114
- */
115
- function () {
116
- this._activityListeners.fire((/**
117
- * @param {?} l
118
- * @return {?}
119
- */
120
- function (l) { return l.onActivityFinished(); }));
121
- };
122
- return ModalInteractionService;
123
- }(GarbageCollector));
124
- /**
125
- * @abstract
126
- */
127
- export { ModalInteractionService };
128
- if (false) {
129
- /**
130
- * @type {?}
131
- * @private
132
- */
133
- ModalInteractionService.prototype._activityListeners;
134
- /** @type {?} */
135
- ModalInteractionService.prototype.active;
136
- /**
137
- * @abstract
138
- * @param {?} disposable
139
- * @return {?}
140
- */
141
- ModalInteractionService.prototype.createInteractionContextFor = function (disposable) { };
142
- /**
143
- * @abstract
144
- * @return {?}
145
- */
146
- ModalInteractionService.prototype.createExclusiveInteractionContext = function () { };
147
- /**
148
- * @abstract
149
- * @return {?}
150
- */
151
- ModalInteractionService.prototype.getCurrentActivity = function () { };
152
- }
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9tb2RhbC1pbnRlcmFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFjLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTdGO0lBQW9CLGlDQUFtQjtJQUVyQztlQUNFLGtCQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxzQkFBSSx3QkFBSzs7OztRQUFUO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUM7OztPQUFBOzs7Ozs7SUFFRCx5QkFBUzs7Ozs7SUFBVCxVQUFhLEdBQVk7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUk7WUFDRixPQUFPLEdBQUcsRUFBRSxDQUFDO1NBQ2Q7Z0JBQVM7WUFDUixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDOzs7Ozs7O0lBRUQsMEJBQVU7Ozs7OztJQUFWLFVBQWMsR0FBWSxFQUFFLFlBQXNCO1FBQXRCLDZCQUFBLEVBQUEsbUJBQXNCO1FBQ2hELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQzVDLENBQUM7SUFDSCxZQUFDO0FBQUQsQ0FBQyxBQXRCRCxDQUFvQixVQUFVLEdBc0I3Qjs7OztBQUVEOzs7O0lBQXNELG1EQUFnQjtJQUlwRTtRQUFBLFlBQ0UsaUJBQU8sU0FDUjtRQUpnQix3QkFBa0IsR0FBRyxJQUFJLGlCQUFpQixFQUErQixDQUFDOztJQUkzRixDQUFDOzs7O0lBSUQsMENBQVE7OztJQUFSO1FBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDOzs7OztJQU1ELHFEQUFtQjs7OztJQUFuQixVQUFvQixRQUFxQztRQUN2RCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7Ozs7SUFFUyx1REFBcUI7Ozs7SUFBL0I7UUFDRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQXJCLENBQXFCLEVBQUMsQ0FBQztJQUMzRCxDQUFDOzs7OztJQUVTLHdEQUFzQjs7OztJQUFoQztRQUNFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsRUFBdEIsQ0FBc0IsRUFBQyxDQUFDO0lBQzVELENBQUM7SUFDSCw4QkFBQztBQUFELENBQUMsQUE3QkQsQ0FBc0QsZ0JBQWdCLEdBNkJyRTs7Ozs7Ozs7OztJQTNCQyxxREFBMkY7O0lBTTNGLHlDQUE4Qzs7Ozs7O0lBTTlDLDBGQUEyRjs7Ozs7SUFDM0Ysc0ZBQWlFOzs7OztJQUNqRSx1RUFBc0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXNwb3NhYmxlLCBFdmVudExpc3RlbmVyTGlzdCwgR2FyYmFnZUNvbGxlY3RvciwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cbmNsYXNzIEd1YXJkIGV4dGVuZHMgVmFsdWVNb2RlbDxib29sZWFuPiB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoeyBpbml0aWFsVmFsdWU6IGZhbHNlIH0pO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnJlYWQoKTtcbiAgfVxuXG4gIHdoaWxlVHJ1ZTxSPihmdW46ICgpID0+IFIpOiBSIHtcbiAgICB0aGlzLnN0YXJ0VHJhbnNhY3Rpb24oKS5jb21taXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBmdW4oKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGFydFRyYW5zYWN0aW9uKCkuY29tbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBydW5JZkZhbHNlPFI+KGZ1bjogKCkgPT4gUiwgZGVmYXVsdFZhbHVlOiBSID0gbnVsbCk6IFIge1xuICAgIHJldHVybiAhdGhpcy52YWx1ZSA/IGZ1bigpIDogZGVmYXVsdFZhbHVlO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb2RhbEludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2aXR5TGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PEludGVyYWN0aW9uQ29udGV4dC5MaXN0ZW5lcj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZS52YWx1ZTtcbiAgfVxuXG4gIGFic3RyYWN0IGNyZWF0ZUludGVyYWN0aW9uQ29udGV4dEZvcihkaXNwb3NhYmxlOiBEaXNwb3NhYmxlLkNvbGxlY3Rvcik6IEludGVyYWN0aW9uQ29udGV4dDtcbiAgYWJzdHJhY3QgY3JlYXRlRXhjbHVzaXZlSW50ZXJhY3Rpb25Db250ZXh0KCk6IEludGVyYWN0aW9uQ29udGV4dDtcbiAgYWJzdHJhY3QgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+O1xuXG4gIGFkZEFjdGl2aXR5TGlzdGVuZXIobGlzdGVuZXI6IEludGVyYWN0aW9uQ29udGV4dC5MaXN0ZW5lcik6IERpc3Bvc2FibGUge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eUxpc3RlbmVycy5hZGQobGlzdGVuZXIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5vdGlmeUFjdGl2aXR5U3RhcnRlZCgpIHtcbiAgICB0aGlzLl9hY3Rpdml0eUxpc3RlbmVycy5maXJlKGwgPT4gbC5vbkFjdGl2aXR5U3RhcnRlZCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBub3RpZnlBY3Rpdml0eUZpbmlzaGVkKCkge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdGVuZXJzLmZpcmUobCA9PiBsLm9uQWN0aXZpdHlGaW5pc2hlZCgpKTtcbiAgfVxufVxuIl19