@coolon/angular-ui-powerups 0.0.98 → 0.0.102
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.
- package/bundles/coolon-angular-ui-powerups.umd.js +2036 -1518
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.d.ts +19 -19
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +19 -19
- package/esm2015/index.js +2 -2
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +20 -5
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +13 -3
- package/esm2015/lib/interaction/index.js +5 -4
- package/esm2015/lib/interaction/interaction-context-base.js +21 -8
- package/esm2015/lib/interaction/interaction-context.js +53 -46
- package/esm2015/lib/interaction/interaction.module.js +3 -3
- package/esm2015/lib/interaction/services/interaction.service.js +232 -0
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +62 -0
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +145 -0
- package/esm2015/lib/interaction/services/modal-interaction-context.factory.js +17 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +3 -3
- package/esm2015/lib/place/guards/navigation-state.js +406 -262
- package/esm2015/lib/place/guards/place-component-deactivation-handler.js +63 -28
- package/esm2015/lib/place/guards/place.guard.js +215 -0
- package/esm2015/lib/place/index.js +2 -3
- package/esm2015/lib/place/place-router.js +161 -118
- package/esm2015/lib/place/url-snapshot.js +124 -36
- package/esm2015/public_api.js +3 -3
- package/esm5/coolon-angular-ui-powerups.js +19 -19
- package/esm5/index.js +2 -2
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +24 -14
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +10 -3
- package/esm5/lib/interaction/index.js +5 -4
- package/esm5/lib/interaction/interaction-context-base.js +25 -8
- package/esm5/lib/interaction/interaction-context.js +81 -56
- package/esm5/lib/interaction/interaction.module.js +3 -3
- package/esm5/lib/interaction/services/interaction.service.js +280 -0
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +65 -0
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +170 -0
- package/esm5/lib/interaction/services/modal-interaction-context.factory.js +27 -0
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +3 -3
- package/esm5/lib/place/guards/navigation-state.js +552 -304
- package/esm5/lib/place/guards/place-component-deactivation-handler.js +73 -27
- package/esm5/lib/place/guards/place.guard.js +300 -0
- package/esm5/lib/place/index.js +2 -3
- package/esm5/lib/place/place-router.js +199 -137
- package/esm5/lib/place/url-snapshot.js +153 -42
- package/esm5/public_api.js +3 -3
- package/fesm2015/coolon-angular-ui-powerups.js +1636 -1300
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +1985 -1466
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +1 -0
- package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +3 -1
- package/lib/interaction/index.d.ts +4 -3
- package/lib/interaction/interaction-context-base.d.ts +3 -1
- package/lib/interaction/interaction-context.d.ts +11 -13
- package/lib/interaction/services/interaction.service.d.ts +46 -0
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +15 -0
- package/lib/interaction/services/{dialog-interaction-context.d.ts → mat-dialog-interaction/dialog-interaction-context.d.ts} +2 -2
- package/lib/interaction/services/modal-interaction-context.factory.d.ts +4 -0
- package/lib/place/guards/navigation-state.d.ts +83 -49
- package/lib/place/guards/place-component-deactivation-handler.d.ts +7 -4
- package/lib/place/guards/{abstract-place.guard.d.ts → place.guard.d.ts} +9 -4
- package/lib/place/index.d.ts +1 -2
- package/lib/place/place-router.d.ts +17 -22
- package/lib/place/url-snapshot.d.ts +23 -6
- package/package.json +1 -1
- package/schematics/place-routes/place-def.js +1 -0
- package/schematics/place-routes/place-def.js.map +1 -1
- package/schematics/place-routes/templates/place-routes.ts.template +10 -11
- package/styles/styles.scss +1 -1
- package/esm2015/lib/interaction/services/dialog-interaction-context.js +0 -163
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +0 -151
- package/esm2015/lib/interaction/services/modal-interaction.service.js +0 -109
- package/esm2015/lib/place/guards/abstract-place.guard.js +0 -165
- package/esm2015/lib/place/guards/interaction.guard.js +0 -113
- package/esm5/lib/interaction/services/dialog-interaction-context.js +0 -188
- package/esm5/lib/interaction/services/dialog-interaction.service.js +0 -179
- package/esm5/lib/interaction/services/modal-interaction.service.js +0 -153
- package/esm5/lib/place/guards/abstract-place.guard.js +0 -212
- package/esm5/lib/place/guards/interaction.guard.js +0 -125
- package/lib/interaction/services/dialog-interaction.service.d.ts +0 -24
- package/lib/interaction/services/modal-interaction.service.d.ts +0 -15
- package/lib/place/guards/interaction.guard.d.ts +0 -17
|
@@ -0,0 +1,280 @@
|
|
|
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 { Dsl, GarbageCollector, lang, MutableListModel, MutableValueModel } from '@coolon/pectin';
|
|
8
|
+
import { assert } from '@coolon/typescript-utilities';
|
|
9
|
+
import { ModalInteractionContextFactory } from './modal-interaction-context.factory';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "./modal-interaction-context.factory";
|
|
12
|
+
/** @type {?} */
|
|
13
|
+
var inplaceMonitorCount = 0;
|
|
14
|
+
var InteractionService = /** @class */ (function () {
|
|
15
|
+
function InteractionService(modelInteractionContextFactory) {
|
|
16
|
+
this.modelInteractionContextFactory = modelInteractionContextFactory;
|
|
17
|
+
this.garbage = new GarbageCollector();
|
|
18
|
+
this.exclusiveContext = new MutableValueModel();
|
|
19
|
+
this._activeModalInteractionContextModel = new MutableValueModel();
|
|
20
|
+
this._activeInlineInteractionContextModel = new MutableValueModel();
|
|
21
|
+
var _a = Dsl.disposeWith(this.garbage), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
|
|
22
|
+
this._activeInteractionContext = chain(this._activeModalInteractionContextModel)
|
|
23
|
+
.otherwise(this._activeInlineInteractionContextModel)
|
|
24
|
+
.pluck('interactionContext');
|
|
25
|
+
this.active = chain(this._activeInteractionContext).isNotNil();
|
|
26
|
+
this.modelInteractionActive = chain(this._activeModalInteractionContextModel).isNotNil();
|
|
27
|
+
this.inlineInteractionActive = chain(this._activeInlineInteractionContextModel).isNotNil();
|
|
28
|
+
// TODO: chain.concat(listOrValueModels) would be nice.
|
|
29
|
+
this.activeInteractionContextIds = chain(new MutableListModel())
|
|
30
|
+
.append(this._activeInlineInteractionContextModel)
|
|
31
|
+
.append(this._activeModalInteractionContextModel)
|
|
32
|
+
.rejectNil()
|
|
33
|
+
.pluck('id');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @return {?}
|
|
37
|
+
*/
|
|
38
|
+
InteractionService.prototype.isActive = /**
|
|
39
|
+
* @return {?}
|
|
40
|
+
*/
|
|
41
|
+
function () {
|
|
42
|
+
return this.active.value;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* @return {?}
|
|
46
|
+
*/
|
|
47
|
+
InteractionService.prototype.isModalActive = /**
|
|
48
|
+
* @return {?}
|
|
49
|
+
*/
|
|
50
|
+
function () {
|
|
51
|
+
return this.modelInteractionActive.value;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* @param {?} disposable
|
|
55
|
+
* @return {?}
|
|
56
|
+
*/
|
|
57
|
+
InteractionService.prototype.createModalInteractionContextFor = /**
|
|
58
|
+
* @param {?} disposable
|
|
59
|
+
* @return {?}
|
|
60
|
+
*/
|
|
61
|
+
function (disposable) {
|
|
62
|
+
/** @type {?} */
|
|
63
|
+
var context = this.modelInteractionContextFactory.createInteractionContext();
|
|
64
|
+
disposable.registerDisposable(new InteractionService.Monitor('modal', context, this._activeModalInteractionContextModel, this.exclusiveContext));
|
|
65
|
+
return context;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* @param {?} interactionContext
|
|
69
|
+
* @return {?}
|
|
70
|
+
*/
|
|
71
|
+
InteractionService.prototype._registerInplaceInteractionContext = /**
|
|
72
|
+
* @param {?} interactionContext
|
|
73
|
+
* @return {?}
|
|
74
|
+
*/
|
|
75
|
+
function (interactionContext) {
|
|
76
|
+
interactionContext.registerDisposable(new InteractionService.Monitor("ip" + ++inplaceMonitorCount, interactionContext, this._activeInlineInteractionContextModel, this.exclusiveContext));
|
|
77
|
+
};
|
|
78
|
+
// @Trace()
|
|
79
|
+
// @Trace()
|
|
80
|
+
/**
|
|
81
|
+
* @return {?}
|
|
82
|
+
*/
|
|
83
|
+
InteractionService.prototype.getActiveContext =
|
|
84
|
+
// @Trace()
|
|
85
|
+
/**
|
|
86
|
+
* @return {?}
|
|
87
|
+
*/
|
|
88
|
+
function () {
|
|
89
|
+
assert.isTruthy(this.isActive());
|
|
90
|
+
return this._activeInteractionContext.value;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Creates an interaction context that will prevent any other contexts from starting an
|
|
94
|
+
* activity until it is disposed. This is intended for use by the router for passing
|
|
95
|
+
* to PlaceComponent.canDeactivate(interactionContext). This ensures components don't
|
|
96
|
+
* try and interact in a way that we can't track and synchronise with the browser back
|
|
97
|
+
* button.
|
|
98
|
+
*/
|
|
99
|
+
/**
|
|
100
|
+
* Creates an interaction context that will prevent any other contexts from starting an
|
|
101
|
+
* activity until it is disposed. This is intended for use by the router for passing
|
|
102
|
+
* to PlaceComponent.canDeactivate(interactionContext). This ensures components don't
|
|
103
|
+
* try and interact in a way that we can't track and synchronise with the browser back
|
|
104
|
+
* button.
|
|
105
|
+
* @return {?}
|
|
106
|
+
*/
|
|
107
|
+
InteractionService.prototype._createExclusiveModalInteractionContext = /**
|
|
108
|
+
* Creates an interaction context that will prevent any other contexts from starting an
|
|
109
|
+
* activity until it is disposed. This is intended for use by the router for passing
|
|
110
|
+
* to PlaceComponent.canDeactivate(interactionContext). This ensures components don't
|
|
111
|
+
* try and interact in a way that we can't track and synchronise with the browser back
|
|
112
|
+
* button.
|
|
113
|
+
* @return {?}
|
|
114
|
+
*/
|
|
115
|
+
function () {
|
|
116
|
+
this.exclusiveContext.value = this.modelInteractionContextFactory.createInteractionContext();
|
|
117
|
+
/** @type {?} */
|
|
118
|
+
var self = this;
|
|
119
|
+
this.exclusiveContext.value.registerDisposable({
|
|
120
|
+
dispose: /**
|
|
121
|
+
* @return {?}
|
|
122
|
+
*/
|
|
123
|
+
function () {
|
|
124
|
+
self.exclusiveContext.value = null;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return this.exclusiveContext.value;
|
|
128
|
+
};
|
|
129
|
+
InteractionService.decorators = [
|
|
130
|
+
{ type: Injectable, args: [{
|
|
131
|
+
providedIn: 'root'
|
|
132
|
+
},] }
|
|
133
|
+
];
|
|
134
|
+
/** @nocollapse */
|
|
135
|
+
InteractionService.ctorParameters = function () { return [
|
|
136
|
+
{ type: ModalInteractionContextFactory }
|
|
137
|
+
]; };
|
|
138
|
+
/** @nocollapse */ InteractionService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function InteractionService_Factory() { return new InteractionService(i0.ɵɵinject(i1.ModalInteractionContextFactory)); }, token: InteractionService, providedIn: "root" });
|
|
139
|
+
return InteractionService;
|
|
140
|
+
}());
|
|
141
|
+
export { InteractionService };
|
|
142
|
+
if (false) {
|
|
143
|
+
/**
|
|
144
|
+
* @type {?}
|
|
145
|
+
* @private
|
|
146
|
+
*/
|
|
147
|
+
InteractionService.prototype.garbage;
|
|
148
|
+
/** @type {?} */
|
|
149
|
+
InteractionService.prototype.active;
|
|
150
|
+
/**
|
|
151
|
+
* @type {?}
|
|
152
|
+
* @private
|
|
153
|
+
*/
|
|
154
|
+
InteractionService.prototype.exclusiveContext;
|
|
155
|
+
/**
|
|
156
|
+
* @type {?}
|
|
157
|
+
* @private
|
|
158
|
+
*/
|
|
159
|
+
InteractionService.prototype._activeModalInteractionContextModel;
|
|
160
|
+
/**
|
|
161
|
+
* @type {?}
|
|
162
|
+
* @private
|
|
163
|
+
*/
|
|
164
|
+
InteractionService.prototype._activeInlineInteractionContextModel;
|
|
165
|
+
/**
|
|
166
|
+
* @type {?}
|
|
167
|
+
* @private
|
|
168
|
+
*/
|
|
169
|
+
InteractionService.prototype._activeInteractionContext;
|
|
170
|
+
/** @type {?} */
|
|
171
|
+
InteractionService.prototype.activeInteractionContextIds;
|
|
172
|
+
/** @type {?} */
|
|
173
|
+
InteractionService.prototype.modelInteractionActive;
|
|
174
|
+
/** @type {?} */
|
|
175
|
+
InteractionService.prototype.inlineInteractionActive;
|
|
176
|
+
/** @type {?} */
|
|
177
|
+
InteractionService.prototype.modelInteractionContextFactory;
|
|
178
|
+
}
|
|
179
|
+
(function (InteractionService) {
|
|
180
|
+
/**
|
|
181
|
+
* @record
|
|
182
|
+
*/
|
|
183
|
+
function Callback() { }
|
|
184
|
+
InteractionService.Callback = Callback;
|
|
185
|
+
if (false) {
|
|
186
|
+
/**
|
|
187
|
+
* @param {?} monitor
|
|
188
|
+
* @return {?}
|
|
189
|
+
*/
|
|
190
|
+
Callback.prototype.onStarted = function (monitor) { };
|
|
191
|
+
/**
|
|
192
|
+
* @param {?} monitor
|
|
193
|
+
* @return {?}
|
|
194
|
+
*/
|
|
195
|
+
Callback.prototype.onFinished = function (monitor) { };
|
|
196
|
+
}
|
|
197
|
+
var Monitor = /** @class */ (function (_super) {
|
|
198
|
+
tslib_1.__extends(Monitor, _super);
|
|
199
|
+
function Monitor(id, interactionContext, currentActiveMonitor, exclusiveContext) {
|
|
200
|
+
var _this = _super.call(this) || this;
|
|
201
|
+
_this.id = id;
|
|
202
|
+
_this.interactionContext = interactionContext;
|
|
203
|
+
_this.currentActiveMonitor = currentActiveMonitor;
|
|
204
|
+
_this.exclusiveContext = exclusiveContext;
|
|
205
|
+
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;
|
|
206
|
+
when.valueOf(interactionContext.active).becomesTruthy((/**
|
|
207
|
+
* @return {?}
|
|
208
|
+
*/
|
|
209
|
+
function () { return _this.onStarted(); }));
|
|
210
|
+
when.valueOf(interactionContext.active).becomesFalsey((/**
|
|
211
|
+
* @return {?}
|
|
212
|
+
*/
|
|
213
|
+
function () { return _this.onFinished(); }));
|
|
214
|
+
interactionContext.registerDisposable(_this);
|
|
215
|
+
return _this;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* @protected
|
|
219
|
+
* @return {?}
|
|
220
|
+
*/
|
|
221
|
+
Monitor.prototype.onStarted = /**
|
|
222
|
+
* @protected
|
|
223
|
+
* @return {?}
|
|
224
|
+
*/
|
|
225
|
+
function () {
|
|
226
|
+
this.assertCanStart();
|
|
227
|
+
this.currentActiveMonitor.value = this;
|
|
228
|
+
};
|
|
229
|
+
/**
|
|
230
|
+
* @private
|
|
231
|
+
* @return {?}
|
|
232
|
+
*/
|
|
233
|
+
Monitor.prototype.assertCanStart = /**
|
|
234
|
+
* @private
|
|
235
|
+
* @return {?}
|
|
236
|
+
*/
|
|
237
|
+
function () {
|
|
238
|
+
assert.isFalsey(this.currentActiveMonitor.value);
|
|
239
|
+
if (this.exclusiveContext.value && this.interactionContext !== this.exclusiveContext.value) {
|
|
240
|
+
lang.illegalState('Interaction started while exclusive lock active. This is usually because you using a different context during place.canDeactivate(interactionContext)');
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* @protected
|
|
245
|
+
* @return {?}
|
|
246
|
+
*/
|
|
247
|
+
Monitor.prototype.onFinished = /**
|
|
248
|
+
* @protected
|
|
249
|
+
* @return {?}
|
|
250
|
+
*/
|
|
251
|
+
function () {
|
|
252
|
+
this.assertCurrentlyActive();
|
|
253
|
+
this.currentActiveMonitor.value = null;
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* @private
|
|
257
|
+
* @return {?}
|
|
258
|
+
*/
|
|
259
|
+
Monitor.prototype.assertCurrentlyActive = /**
|
|
260
|
+
* @private
|
|
261
|
+
* @return {?}
|
|
262
|
+
*/
|
|
263
|
+
function () {
|
|
264
|
+
assert.isTruthy(this.currentActiveMonitor.value === this);
|
|
265
|
+
};
|
|
266
|
+
return Monitor;
|
|
267
|
+
}(GarbageCollector));
|
|
268
|
+
InteractionService.Monitor = Monitor;
|
|
269
|
+
if (false) {
|
|
270
|
+
/** @type {?} */
|
|
271
|
+
Monitor.prototype.id;
|
|
272
|
+
/** @type {?} */
|
|
273
|
+
Monitor.prototype.interactionContext;
|
|
274
|
+
/** @type {?} */
|
|
275
|
+
Monitor.prototype.currentActiveMonitor;
|
|
276
|
+
/** @type {?} */
|
|
277
|
+
Monitor.prototype.exclusiveContext;
|
|
278
|
+
}
|
|
279
|
+
})(InteractionService || (InteractionService = {}));
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsR0FBRyxFQUNILGdCQUFnQixFQUNoQixJQUFJLEVBRUosZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztJQUVqRixtQkFBbUIsR0FBRyxDQUFDO0FBRTNCO0lBaUJFLDRCQUFxQiw4QkFBOEQ7UUFBOUQsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQVpsRSxZQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBRWpDLHFCQUFnQixHQUFHLElBQUksaUJBQWlCLEVBQXNCLENBQUM7UUFFL0Qsd0NBQW1DLEdBQUcsSUFBSSxpQkFBaUIsRUFBOEIsQ0FBQztRQUMxRix5Q0FBb0MsR0FBRyxJQUFJLGlCQUFpQixFQUE4QixDQUFDO1FBUXBHLElBQUEsa0NBQTBGLEVBQXhGLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxrQkFBTSxFQUFFLGNBQUksRUFBRSxnQkFBSyxFQUFFLG9CQUFPLEVBQUUsc0JBQTBDO1FBRWhHLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO2FBQzdFLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLENBQUM7YUFDcEQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLE1BQU0sR0FB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LENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO2dCQUMxRixJQUFJLENBQUMsWUFBWSxDQUFDLHdKQUF3SixDQUFDLENBQUM7YUFDN0s7UUFDSCxDQUFDOzs7OztRQUVTLDRCQUFVOzs7O1FBQXBCO1lBQ0UsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDekMsQ0FBQzs7Ozs7UUFFTyx1Q0FBcUI7Ozs7UUFBN0I7WUFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNILGNBQUM7SUFBRCxDQUFDLEFBaENELENBQTZCLGdCQUFnQixHQWdDNUM7SUFoQ1ksMEJBQU8sVUFnQ25CLENBQUE7OztRQS9CYSxxQkFBbUI7O1FBQ25CLHFDQUErQzs7UUFDL0MsdUNBQXlEOztRQUN6RCxtQ0FBeUQ7O0FBNkJ6RSxDQUFDLEVBekNnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBeUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIERpc3Bvc2FibGUsXG4gIERzbCxcbiAgR2FyYmFnZUNvbGxlY3RvcixcbiAgbGFuZyxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcblxuaW1wb3J0IHsgTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IH0gZnJvbSAnLi9tb2RhbC1pbnRlcmFjdGlvbi1jb250ZXh0LmZhY3RvcnknO1xuXG5sZXQgaW5wbGFjZU1vbml0b3JDb3VudCA9IDA7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnYXJiYWdlID0gbmV3IEdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgcmVhZG9ubHkgYWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1c2l2ZUNvbnRleHQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25TZXJ2aWNlLk1vbml0b3I+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEludGVyYWN0aW9uU2VydmljZS5Nb25pdG9yPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHQ6IFZhbHVlTW9kZWxDaGFpbjxJbnRlcmFjdGlvbkNvbnRleHQ+O1xuXG4gIHJlYWRvbmx5IGFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkczogTGlzdE1vZGVsQ2hhaW48c3RyaW5nPjtcbiAgcmVhZG9ubHkgbW9kZWxJbnRlcmFjdGlvbkFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgcmVhZG9ubHkgaW5saW5lSW50ZXJhY3Rpb25BY3RpdmU6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgbW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5OiBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkpIHtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMuZ2FyYmFnZSk7XG5cbiAgICB0aGlzLl9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHQgPSBjaGFpbih0aGlzLl9hY3RpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dE1vZGVsKVxuICAgICAgLm90aGVyd2lzZSh0aGlzLl9hY3RpdmVJbmxpbmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbClcbiAgICAgIC5wbHVjaygnaW50ZXJhY3Rpb25Db250ZXh0Jyk7XG5cbiAgICB0aGlzLmFjdGl2ZSA9IGNoYWluKHRoaXMuX2FjdGl2ZUludGVyYWN0aW9uQ29udGV4dCkuaXNOb3ROaWwoKTtcbiAgICB0aGlzLm1vZGVsSW50ZXJhY3Rpb25BY3RpdmUgPSBjaGFpbih0aGlzLl9hY3RpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dE1vZGVsKS5pc05vdE5pbCgpO1xuICAgIHRoaXMuaW5saW5lSW50ZXJhY3Rpb25BY3RpdmUgPSBjaGFpbih0aGlzLl9hY3RpdmVJbmxpbmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbCkuaXNOb3ROaWwoKTtcblxuICAgIC8vIFRPRE86IGNoYWluLmNvbmNhdChsaXN0T3JWYWx1ZU1vZGVscykgd291bGQgYmUgbmljZS5cbiAgICB0aGlzLmFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcyA9IGNoYWluKG5ldyBNdXRhYmxlTGlzdE1vZGVsPEludGVyYWN0aW9uU2VydmljZS5Nb25pdG9yPigpKVxuICAgICAgLmFwcGVuZCh0aGlzLl9hY3RpdmVJbmxpbmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbClcbiAgICAgIC5hcHBlbmQodGhpcy5fYWN0aXZlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRNb2RlbClcbiAgICAgIC5yZWplY3ROaWwoKVxuICAgICAgLnBsdWNrKCdpZCcpO1xuXG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gIH1cblxuICBpc01vZGFsQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1vZGVsSW50ZXJhY3Rpb25BY3RpdmUudmFsdWU7XG4gIH1cblxuICBjcmVhdGVNb2RhbEludGVyYWN0aW9uQ29udGV4dEZvcihkaXNwb3NhYmxlOiBEaXNwb3NhYmxlLkNvbGxlY3Rvcik6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMubW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5LmNyZWF0ZUludGVyYWN0aW9uQ29udGV4dCgpO1xuICAgIGRpc3Bvc2FibGUucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuTW9uaXRvcignbW9kYWwnLCBjb250ZXh0LCB0aGlzLl9hY3RpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dE1vZGVsLCB0aGlzLmV4Y2x1c2l2ZUNvbnRleHQpKTtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxuXG4gIF9yZWdpc3RlcklucGxhY2VJbnRlcmFjdGlvbkNvbnRleHQoaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICBpbnRlcmFjdGlvbkNvbnRleHQucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuTW9uaXRvcihgaXAkeysraW5wbGFjZU1vbml0b3JDb3VudH1gLCBpbnRlcmFjdGlvbkNvbnRleHQsIHRoaXMuX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsLCB0aGlzLmV4Y2x1c2l2ZUNvbnRleHQpKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldEFjdGl2ZUNvbnRleHQoKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0FjdGl2ZSgpKTtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0LnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW50ZXJhY3Rpb24gY29udGV4dCB0aGF0IHdpbGwgcHJldmVudCBhbnkgb3RoZXIgY29udGV4dHMgZnJvbSBzdGFydGluZyBhblxuICAgKiBhY3Rpdml0eSB1bnRpbCBpdCBpcyBkaXNwb3NlZC4gIFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSB0aGUgcm91dGVyIGZvciBwYXNzaW5nXG4gICAqIHRvIFBsYWNlQ29tcG9uZW50LmNhbkRlYWN0aXZhdGUoaW50ZXJhY3Rpb25Db250ZXh0KS4gIFRoaXMgZW5zdXJlcyBjb21wb25lbnRzIGRvbid0XG4gICAqIHRyeSBhbmQgaW50ZXJhY3QgaW4gYSB3YXkgdGhhdCB3ZSBjYW4ndCB0cmFjayBhbmQgc3luY2hyb25pc2Ugd2l0aCB0aGUgYnJvd3NlciBiYWNrXG4gICAqIGJ1dHRvbi5cbiAgICovXG4gIF9jcmVhdGVFeGNsdXNpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIHRoaXMuZXhjbHVzaXZlQ29udGV4dC52YWx1ZSA9IHRoaXMubW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5LmNyZWF0ZUludGVyYWN0aW9uQ29udGV4dCgpO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMuZXhjbHVzaXZlQ29udGV4dC52YWx1ZS5yZWdpc3RlckRpc3Bvc2FibGUoe1xuICAgICAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICAgICAgc2VsZi5leGNsdXNpdmVDb250ZXh0LnZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgSW50ZXJhY3Rpb25TZXJ2aWNlIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIENhbGxiYWNrIHtcbiAgICBvblN0YXJ0ZWQobW9uaXRvcjogTW9uaXRvcik7XG5cbiAgICBvbkZpbmlzaGVkKG1vbml0b3I6IE1vbml0b3IpO1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIE1vbml0b3IgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBpZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGN1cnJlbnRBY3RpdmVNb25pdG9yOiBNdXRhYmxlVmFsdWVNb2RlbDxNb25pdG9yPixcbiAgICAgICAgICAgICAgICByZWFkb25seSBleGNsdXNpdmVDb250ZXh0OiBWYWx1ZU1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4pIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgICAgd2hlbi52YWx1ZU9mKGludGVyYWN0aW9uQ29udGV4dC5hY3RpdmUpLmJlY29tZXNUcnV0aHkoKCkgPT4gdGhpcy5vblN0YXJ0ZWQoKSk7XG4gICAgICB3aGVuLnZhbHVlT2YoaW50ZXJhY3Rpb25Db250ZXh0LmFjdGl2ZSkuYmVjb21lc0ZhbHNleSgoKSA9PiB0aGlzLm9uRmluaXNoZWQoKSk7XG4gICAgICBpbnRlcmFjdGlvbkNvbnRleHQucmVnaXN0ZXJEaXNwb3NhYmxlKHRoaXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblN0YXJ0ZWQoKSB7XG4gICAgICB0aGlzLmFzc2VydENhblN0YXJ0KCk7XG4gICAgICB0aGlzLmN1cnJlbnRBY3RpdmVNb25pdG9yLnZhbHVlID0gdGhpcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2VydENhblN0YXJ0KCkge1xuICAgICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuY3VycmVudEFjdGl2ZU1vbml0b3IudmFsdWUpO1xuICAgICAgaWYgKHRoaXMuZXhjbHVzaXZlQ29udGV4dC52YWx1ZSAmJiB0aGlzLmludGVyYWN0aW9uQ29udGV4dCAhPT0gdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlKSB7XG4gICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdJbnRlcmFjdGlvbiBzdGFydGVkIHdoaWxlIGV4Y2x1c2l2ZSBsb2NrIGFjdGl2ZS4gIFRoaXMgaXMgdXN1YWxseSBiZWNhdXNlIHlvdSB1c2luZyBhIGRpZmZlcmVudCBjb250ZXh0IGR1cmluZyBwbGFjZS5jYW5EZWFjdGl2YXRlKGludGVyYWN0aW9uQ29udGV4dCknKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25GaW5pc2hlZCgpIHtcbiAgICAgIHRoaXMuYXNzZXJ0Q3VycmVudGx5QWN0aXZlKCk7XG4gICAgICB0aGlzLmN1cnJlbnRBY3RpdmVNb25pdG9yLnZhbHVlID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2VydEN1cnJlbnRseUFjdGl2ZSgpIHtcbiAgICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLmN1cnJlbnRBY3RpdmVNb25pdG9yLnZhbHVlID09PSB0aGlzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
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 { assert } from '@coolon/typescript-utilities';
|
|
10
|
+
import { ModalInteractionContextFactory } from '../modal-interaction-context.factory';
|
|
11
|
+
import { DialogInteractionContext } from './dialog-interaction-context';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/material/dialog";
|
|
14
|
+
/** @type {?} */
|
|
15
|
+
export var DIALOG_INTERACTION_SERVICE_DEFAULTS = new InjectionToken('DIALOG_INTERACTION_SERVICE_DEFAULTS');
|
|
16
|
+
var DialogInteractionContextFactory = /** @class */ (function (_super) {
|
|
17
|
+
tslib_1.__extends(DialogInteractionContextFactory, _super);
|
|
18
|
+
function DialogInteractionContextFactory(dialogService, dialogServiceDefaults, matDialogDefaultConfig) {
|
|
19
|
+
var _this = _super.call(this) || this;
|
|
20
|
+
_this.dialogService = dialogService;
|
|
21
|
+
_this.dialogServiceDefaults = dialogServiceDefaults;
|
|
22
|
+
_this.matDialogDefaultConfig = matDialogDefaultConfig;
|
|
23
|
+
assert.notNil(dialogService);
|
|
24
|
+
return _this;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @return {?}
|
|
28
|
+
*/
|
|
29
|
+
DialogInteractionContextFactory.prototype.createInteractionContext = /**
|
|
30
|
+
* @return {?}
|
|
31
|
+
*/
|
|
32
|
+
function () {
|
|
33
|
+
/** @type {?} */
|
|
34
|
+
var config = tslib_1.__assign({ autoFocus: false, hasBackdrop: true, closeOnNavigation: false }, this.matDialogDefaultConfig, this.dialogServiceDefaults);
|
|
35
|
+
return new DialogInteractionContext(this.dialogService, config);
|
|
36
|
+
};
|
|
37
|
+
DialogInteractionContextFactory.decorators = [
|
|
38
|
+
{ type: Injectable, args: [{
|
|
39
|
+
providedIn: 'root'
|
|
40
|
+
},] }
|
|
41
|
+
];
|
|
42
|
+
/** @nocollapse */
|
|
43
|
+
DialogInteractionContextFactory.ctorParameters = function () { return [
|
|
44
|
+
{ type: MatDialog },
|
|
45
|
+
{ type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [DIALOG_INTERACTION_SERVICE_DEFAULTS,] }] },
|
|
46
|
+
{ type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DIALOG_DEFAULT_OPTIONS,] }] }
|
|
47
|
+
]; };
|
|
48
|
+
/** @nocollapse */ DialogInteractionContextFactory.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DialogInteractionContextFactory_Factory() { return new DialogInteractionContextFactory(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(DIALOG_INTERACTION_SERVICE_DEFAULTS, 8), i0.ɵɵinject(i1.MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionContextFactory, providedIn: "root" });
|
|
49
|
+
return DialogInteractionContextFactory;
|
|
50
|
+
}(ModalInteractionContextFactory));
|
|
51
|
+
export { DialogInteractionContextFactory };
|
|
52
|
+
if (false) {
|
|
53
|
+
/** @type {?} */
|
|
54
|
+
DialogInteractionContextFactory.prototype.active;
|
|
55
|
+
/**
|
|
56
|
+
* @type {?}
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
DialogInteractionContextFactory.prototype.dialogService;
|
|
60
|
+
/** @type {?} */
|
|
61
|
+
DialogInteractionContextFactory.prototype.dialogServiceDefaults;
|
|
62
|
+
/** @type {?} */
|
|
63
|
+
DialogInteractionContextFactory.prototype.matDialogDefaultConfig;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9tYXQtZGlhbG9nLWludGVyYWN0aW9uL2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0LWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXRELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBRXhFLE1BQU0sS0FBTyxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUNBQXFDLENBQUM7QUFFbEk7SUFHcUQsMkRBQThCO0lBSWpGLHlDQUE2QixhQUF3QixFQUN5QixxQkFBMkMsRUFDcEQsc0JBQTRDO1FBRmpILFlBSUUsaUJBQU8sU0FFUjtRQU40QixtQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUN5QiwyQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQ3BELDRCQUFzQixHQUF0QixzQkFBc0IsQ0FBc0I7UUFHL0csTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQzs7SUFDL0IsQ0FBQzs7OztJQUVELGtFQUF3Qjs7O0lBQXhCOztZQUNRLE1BQU0sc0JBQ1YsU0FBUyxFQUFFLEtBQUssRUFDaEIsV0FBVyxFQUFFLElBQUksRUFDakIsaUJBQWlCLEVBQUUsS0FBSyxJQUNyQixJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyxxQkFBcUIsQ0FDOUI7UUFFRCxPQUFPLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRSxDQUFDOztnQkF6QkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFaUSxTQUFTO2dCQUNtQixlQUFlLHVCQWlCckMsUUFBUSxZQUFJLE1BQU0sU0FBQyxtQ0FBbUM7Z0JBakJoQyxlQUFlLHVCQWtCckMsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7OzswQ0FwQjVEO0NBcUNDLEFBMUJELENBR3FELDhCQUE4QixHQXVCbEY7U0F2QlksK0JBQStCOzs7SUFFMUMsaURBQXdDOzs7OztJQUU1Qix3REFBeUM7O0lBQ3pDLGdFQUE2Rzs7SUFDN0csaUVBQXFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQm9vbGVhblZhbHVlTW9kZWxDaGFpbiB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkgfSBmcm9tICcuLi9tb2RhbC1pbnRlcmFjdGlvbi1jb250ZXh0LmZhY3RvcnknO1xuaW1wb3J0IHsgRGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi9kaWFsb2ctaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cbmV4cG9ydCBjb25zdCBESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXREaWFsb2dDb25maWc8YW55Pj4oJ0RJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkgZXh0ZW5kcyBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3Rvcnkge1xuXG4gIHJlYWRvbmx5IGFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUykgcmVhZG9ubHkgZGlhbG9nU2VydmljZURlZmF1bHRzOiBNYXREaWFsb2dDb25maWc8YW55PixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUykgcmVhZG9ubHkgbWF0RGlhbG9nRGVmYXVsdENvbmZpZzogTWF0RGlhbG9nQ29uZmlnPGFueT5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICB9XG5cbiAgY3JlYXRlSW50ZXJhY3Rpb25Db250ZXh0KCk6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXG4gICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAuLi50aGlzLmRpYWxvZ1NlcnZpY2VEZWZhdWx0c1xuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dCh0aGlzLmRpYWxvZ1NlcnZpY2UsIGNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,170 @@
|
|
|
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 { lang, MutableValueModel } from '@coolon/pectin';
|
|
7
|
+
import { assert } from '@coolon/typescript-utilities';
|
|
8
|
+
import { ActivityContainerComponent } from '../../components/activity-container/activity-container.component';
|
|
9
|
+
import { InteractionContextBase } from '../../interaction-context-base';
|
|
10
|
+
var DialogInteractionContext = /** @class */ (function (_super) {
|
|
11
|
+
tslib_1.__extends(DialogInteractionContext, _super);
|
|
12
|
+
function DialogInteractionContext(dialogService, config) {
|
|
13
|
+
var _this = _super.call(this) || this;
|
|
14
|
+
_this.dialogService = dialogService;
|
|
15
|
+
_this.config = config;
|
|
16
|
+
_this._activeModel = new MutableValueModel(false);
|
|
17
|
+
assert.notNil(dialogService);
|
|
18
|
+
_this.onDispose((/**
|
|
19
|
+
* @return {?}
|
|
20
|
+
*/
|
|
21
|
+
function () {
|
|
22
|
+
if (_this.isActive()) {
|
|
23
|
+
lang.illegalState('Dispose called while active.');
|
|
24
|
+
}
|
|
25
|
+
}));
|
|
26
|
+
return _this;
|
|
27
|
+
}
|
|
28
|
+
Object.defineProperty(DialogInteractionContext.prototype, "active", {
|
|
29
|
+
get: /**
|
|
30
|
+
* @return {?}
|
|
31
|
+
*/
|
|
32
|
+
function () {
|
|
33
|
+
return this._activeModel.readonly;
|
|
34
|
+
},
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* @protected
|
|
40
|
+
* @template D, R, E
|
|
41
|
+
* @param {?} activityType
|
|
42
|
+
* @param {?} data
|
|
43
|
+
* @param {?=} disableClose
|
|
44
|
+
* @return {?}
|
|
45
|
+
*/
|
|
46
|
+
DialogInteractionContext.prototype._startActivity = /**
|
|
47
|
+
* @protected
|
|
48
|
+
* @template D, R, E
|
|
49
|
+
* @param {?} activityType
|
|
50
|
+
* @param {?} data
|
|
51
|
+
* @param {?=} disableClose
|
|
52
|
+
* @return {?}
|
|
53
|
+
*/
|
|
54
|
+
function (activityType, data, disableClose) {
|
|
55
|
+
var _this = this;
|
|
56
|
+
if (disableClose === void 0) { disableClose = true; }
|
|
57
|
+
if (this.isActive()) {
|
|
58
|
+
lang.illegalState("Activity already in progress: " + this.activityList.value.map((/**
|
|
59
|
+
* @param {?} a
|
|
60
|
+
* @return {?}
|
|
61
|
+
*/
|
|
62
|
+
function (a) { return a.constructor.name; })).join(', '));
|
|
63
|
+
}
|
|
64
|
+
this._activeModel.value = true;
|
|
65
|
+
/** @type {?} */
|
|
66
|
+
var config = tslib_1.__assign({}, this.config, {
|
|
67
|
+
data: data,
|
|
68
|
+
disableClose: disableClose,
|
|
69
|
+
panelClass: 'dialog-interaction-context'
|
|
70
|
+
});
|
|
71
|
+
/** @type {?} */
|
|
72
|
+
var self = this;
|
|
73
|
+
/** @type {?} */
|
|
74
|
+
var matDialogRef = (/** @type {?} */ (this.dialogService.open(ActivityContainerComponent, config)));
|
|
75
|
+
return new Promise((/**
|
|
76
|
+
* @param {?} resolve
|
|
77
|
+
* @param {?} reject
|
|
78
|
+
* @return {?}
|
|
79
|
+
*/
|
|
80
|
+
function (resolve, reject) {
|
|
81
|
+
/** @type {?} */
|
|
82
|
+
var activityContainer = matDialogRef.componentInstance;
|
|
83
|
+
self.safelyUpdateActivityListDelegate(activityContainer.activityList);
|
|
84
|
+
activityContainer.initialActivityOutletContext = {
|
|
85
|
+
activityClass: activityType,
|
|
86
|
+
activityData: data,
|
|
87
|
+
onDone: /**
|
|
88
|
+
* @param {?} result
|
|
89
|
+
* @return {?}
|
|
90
|
+
*/
|
|
91
|
+
function (result) {
|
|
92
|
+
resolve(result);
|
|
93
|
+
matDialogRef.close(true); // return true to let the after close listener know we've already handled it.
|
|
94
|
+
},
|
|
95
|
+
onCancel: /**
|
|
96
|
+
* @param {?} error
|
|
97
|
+
* @return {?}
|
|
98
|
+
*/
|
|
99
|
+
function (error) {
|
|
100
|
+
reject(error);
|
|
101
|
+
matDialogRef.close(true); // return true to let the after close listener know we've already handled it.
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
// we need to check if our onDone/onCancel methods above we called or if we were
|
|
105
|
+
// closed by the user clicking the backdrop. If the later then we need to reject
|
|
106
|
+
// our promise.
|
|
107
|
+
matDialogRef.afterClosed().subscribe((/**
|
|
108
|
+
* @param {?} promiseAlreadyFinished
|
|
109
|
+
* @return {?}
|
|
110
|
+
*/
|
|
111
|
+
function (promiseAlreadyFinished) {
|
|
112
|
+
if (!promiseAlreadyFinished) {
|
|
113
|
+
reject('auto-closed');
|
|
114
|
+
}
|
|
115
|
+
}));
|
|
116
|
+
matDialogRef.updateSize();
|
|
117
|
+
matDialogRef.afterOpened().subscribe((/**
|
|
118
|
+
* @param {?} promiseAlreadyFinished
|
|
119
|
+
* @return {?}
|
|
120
|
+
*/
|
|
121
|
+
function (promiseAlreadyFinished) {
|
|
122
|
+
matDialogRef.updateSize();
|
|
123
|
+
}));
|
|
124
|
+
})).finally((/**
|
|
125
|
+
* @return {?}
|
|
126
|
+
*/
|
|
127
|
+
function () {
|
|
128
|
+
self.safelyUpdateActivityListDelegate(null);
|
|
129
|
+
_this._activeModel.value = false;
|
|
130
|
+
}));
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
|
|
134
|
+
* @param delegate
|
|
135
|
+
*/
|
|
136
|
+
/**
|
|
137
|
+
* Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
|
|
138
|
+
* @param {?} delegate
|
|
139
|
+
* @return {?}
|
|
140
|
+
*/
|
|
141
|
+
DialogInteractionContext.prototype.safelyUpdateActivityListDelegate = /**
|
|
142
|
+
* Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
|
|
143
|
+
* @param {?} delegate
|
|
144
|
+
* @return {?}
|
|
145
|
+
*/
|
|
146
|
+
function (delegate) {
|
|
147
|
+
var _this = this;
|
|
148
|
+
setTimeout((/**
|
|
149
|
+
* @return {?}
|
|
150
|
+
*/
|
|
151
|
+
function () { return _this.setActivityList(delegate); }));
|
|
152
|
+
};
|
|
153
|
+
return DialogInteractionContext;
|
|
154
|
+
}(InteractionContextBase));
|
|
155
|
+
export { DialogInteractionContext };
|
|
156
|
+
if (false) {
|
|
157
|
+
/**
|
|
158
|
+
* @type {?}
|
|
159
|
+
* @private
|
|
160
|
+
*/
|
|
161
|
+
DialogInteractionContext.prototype._activeModel;
|
|
162
|
+
/**
|
|
163
|
+
* @type {?}
|
|
164
|
+
* @private
|
|
165
|
+
*/
|
|
166
|
+
DialogInteractionContext.prototype.dialogService;
|
|
167
|
+
/** @type {?} */
|
|
168
|
+
DialogInteractionContext.prototype.config;
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvbWF0LWRpYWxvZy1pbnRlcmFjdGlvbi9kaWFsb2ctaW50ZXJhY3Rpb24tY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE9BQU8sRUFBaUIsSUFBSSxFQUFhLGlCQUFpQixFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXRELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFO0lBQThDLG9EQUFzQjtJQUlsRSxrQ0FBNkIsYUFBd0IsRUFBVyxNQUE0QjtRQUE1RixZQUNFLGlCQUFPLFNBT1I7UUFSNEIsbUJBQWEsR0FBYixhQUFhLENBQVc7UUFBVyxZQUFNLEdBQU4sTUFBTSxDQUFzQjtRQUYzRSxrQkFBWSxHQUFHLElBQUksaUJBQWlCLENBQVUsS0FBSyxDQUFDLENBQUM7UUFJcEUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QixLQUFJLENBQUMsU0FBUzs7O1FBQUM7WUFDYixJQUFJLEtBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO2FBQ25EO1FBQ0gsQ0FBQyxFQUFDLENBQUM7O0lBQ0wsQ0FBQztJQUVELHNCQUFJLDRDQUFNOzs7O1FBQVY7WUFDRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3BDLENBQUM7OztPQUFBOzs7Ozs7Ozs7SUFFUyxpREFBYzs7Ozs7Ozs7SUFBeEIsVUFBa0MsWUFBOEMsRUFBRSxJQUFPLEVBQUUsWUFBNEI7UUFBdkgsaUJBZ0RDO1FBaEQwRiw2QkFBQSxFQUFBLG1CQUE0QjtRQUNySCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLG1DQUFpQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBbEIsQ0FBa0IsRUFBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUcsQ0FBQyxDQUFDO1NBQ3ZIO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOztZQUN6QixNQUFNLHdCQUNQLElBQUksQ0FBQyxNQUFNLEVBQ1g7WUFDRCxJQUFJLE1BQUE7WUFDSixZQUFZLGNBQUE7WUFDWixVQUFVLEVBQUUsNEJBQTRCO1NBQ3pDLENBQ0Y7O1lBRUssSUFBSSxHQUFHLElBQUk7O1lBQ1gsWUFBWSxHQUFHLG1CQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxFQUFxRDtRQUNySSxPQUFPLElBQUksT0FBTzs7Ozs7UUFBSSxVQUFDLE9BQU8sRUFBRSxNQUFNOztnQkFDOUIsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLGlCQUFpQjtZQUN4RCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFdEUsaUJBQWlCLENBQUMsNEJBQTRCLEdBQUc7Z0JBQy9DLGFBQWEsRUFBRSxZQUFZO2dCQUMzQixZQUFZLEVBQUUsSUFBSTtnQkFDbEIsTUFBTTs7OzswQkFBQyxNQUFNO29CQUNYLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDaEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLDZFQUE2RTtnQkFDekcsQ0FBQztnQkFDRCxRQUFROzs7OzBCQUFDLEtBQUs7b0JBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNkLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyw2RUFBNkU7Z0JBQ3pHLENBQUM7YUFDRixDQUFDO1lBQ0YsZ0ZBQWdGO1lBQ2hGLGlGQUFpRjtZQUNqRixlQUFlO1lBQ2YsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVM7Ozs7WUFBQyxVQUFBLHNCQUFzQjtnQkFDekQsSUFBSSxDQUFDLHNCQUFzQixFQUFFO29CQUMzQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxFQUFDLENBQUM7WUFDSCxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVM7Ozs7WUFBQyxVQUFBLHNCQUFzQjtnQkFDekQsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVCLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUMsT0FBTzs7O1FBQUM7WUFDVCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0gsbUVBQWdDOzs7OztJQUFoQyxVQUFpQyxRQUF1QztRQUF4RSxpQkFFQztRQURDLFVBQVU7OztRQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUE5QixDQUE4QixFQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVILCtCQUFDO0FBQUQsQ0FBQyxBQTVFRCxDQUE4QyxzQkFBc0IsR0E0RW5FOzs7Ozs7O0lBMUVDLGdEQUFzRTs7Ozs7SUFFMUQsaURBQXlDOztJQUFFLDBDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUsIGxhbmcsIExpc3RNb2RlbCwgTXV0YWJsZVZhbHVlTW9kZWwsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dEJhc2UgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi1jb250ZXh0LWJhc2UnO1xuXG5leHBvcnQgY2xhc3MgRGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLCByZWFkb25seSBjb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+KSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICAgIHRoaXMub25EaXNwb3NlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ0Rpc3Bvc2UgY2FsbGVkIHdoaWxlIGFjdGl2ZS4nKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldCBhY3RpdmUoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQWN0aXZpdHkgYWxyZWFkeSBpbiBwcm9ncmVzczogJHt0aGlzLmFjdGl2aXR5TGlzdC52YWx1ZS5tYXAoYSA9PiBhLmNvbnN0cnVjdG9yLm5hbWUpLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZU1vZGVsLnZhbHVlID0gdHJ1ZTtcbiAgICBjb25zdCBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgICAgLi4ue1xuICAgICAgICBkYXRhLFxuICAgICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctaW50ZXJhY3Rpb24tY29udGV4dCdcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgY29uc3QgbWF0RGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsIGNvbmZpZykgYXMgTWF0RGlhbG9nUmVmPEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+PjtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Uj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgYWN0aXZpdHlDb250YWluZXIgPSBtYXREaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGFjdGl2aXR5Q29udGFpbmVyLmFjdGl2aXR5TGlzdCk7XG5cbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQgPSB7XG4gICAgICAgIGFjdGl2aXR5Q2xhc3M6IGFjdGl2aXR5VHlwZSxcbiAgICAgICAgYWN0aXZpdHlEYXRhOiBkYXRhLFxuICAgICAgICBvbkRvbmUocmVzdWx0KSB7XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZSh0cnVlKTsgLy8gcmV0dXJuIHRydWUgdG8gbGV0IHRoZSBhZnRlciBjbG9zZSBsaXN0ZW5lciBrbm93IHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCBpdC5cbiAgICAgICAgfSxcbiAgICAgICAgb25DYW5jZWwoZXJyb3IpIHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZSh0cnVlKTsgLy8gcmV0dXJuIHRydWUgdG8gbGV0IHRoZSBhZnRlciBjbG9zZSBsaXN0ZW5lciBrbm93IHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCBpdC5cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIC8vIHdlIG5lZWQgdG8gY2hlY2sgaWYgb3VyIG9uRG9uZS9vbkNhbmNlbCBtZXRob2RzIGFib3ZlIHdlIGNhbGxlZCBvciBpZiB3ZSB3ZXJlXG4gICAgICAvLyBjbG9zZWQgYnkgdGhlIHVzZXIgY2xpY2tpbmcgdGhlIGJhY2tkcm9wLiAgSWYgdGhlIGxhdGVyIHRoZW4gd2UgbmVlZCB0byByZWplY3RcbiAgICAgIC8vIG91ciBwcm9taXNlLlxuICAgICAgbWF0RGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHByb21pc2VBbHJlYWR5RmluaXNoZWQgPT4ge1xuICAgICAgICBpZiAoIXByb21pc2VBbHJlYWR5RmluaXNoZWQpIHtcbiAgICAgICAgICByZWplY3QoJ2F1dG8tY2xvc2VkJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICAgIG1hdERpYWxvZ1JlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZShwcm9taXNlQWxyZWFkeUZpbmlzaGVkID0+IHtcbiAgICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICAgIH0pO1xuICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgc2VsZi5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShudWxsKTtcbiAgICAgIHRoaXMuX2FjdGl2ZU1vZGVsLnZhbHVlID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0ZWggZGVsZWdhdGUgb24gdGhlIG5leHQgdGljayB0byBhdm9pZCBtb2RpZnlpbmcgc3RhdGUgZHVyaW5nIHRoZSBjdXJyZW50IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gICAqIEBwYXJhbSBkZWxlZ2F0ZVxuICAgKi9cbiAgc2FmZWx5VXBkYXRlQWN0aXZpdHlMaXN0RGVsZWdhdGUoZGVsZWdhdGU6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldEFjdGl2aXR5TGlzdChkZWxlZ2F0ZSkpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @abstract
|
|
7
|
+
*/
|
|
8
|
+
var /**
|
|
9
|
+
* @abstract
|
|
10
|
+
*/
|
|
11
|
+
ModalInteractionContextFactory = /** @class */ (function () {
|
|
12
|
+
function ModalInteractionContextFactory() {
|
|
13
|
+
}
|
|
14
|
+
return ModalInteractionContextFactory;
|
|
15
|
+
}());
|
|
16
|
+
/**
|
|
17
|
+
* @abstract
|
|
18
|
+
*/
|
|
19
|
+
export { ModalInteractionContextFactory };
|
|
20
|
+
if (false) {
|
|
21
|
+
/**
|
|
22
|
+
* @abstract
|
|
23
|
+
* @return {?}
|
|
24
|
+
*/
|
|
25
|
+
ModalInteractionContextFactory.prototype.createInteractionContext = function () { };
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL3NlcnZpY2VzL21vZGFsLWludGVyYWN0aW9uLWNvbnRleHQuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7Ozs7SUFBQTtJQUdBLENBQUM7SUFBRCxxQ0FBQztBQUFELENBQUMsQUFIRCxJQUdDOzs7Ozs7Ozs7O0lBREMsb0ZBQXdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3Rvcnkge1xuXG4gIGFic3RyYWN0IGNyZWF0ZUludGVyYWN0aW9uQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQ7XG59XG4iXX0=
|