@coolon/angular-ui-powerups 16.1.0-alpha.294 → 16.1.0-alpha.295
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/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs
CHANGED
|
@@ -44,29 +44,36 @@ export class DialogInteractionContext extends AbstractInteractionContext {
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
const matDialogRef = this.dialogService.open(ActivityContainerComponent, config);
|
|
47
|
+
// Everything below works on this dialog's own container, never the activityContainer field.
|
|
48
|
+
// The field tracks the *current* dialog, and the next one can claim it while this one is still
|
|
49
|
+
// closing: MatDialog's exit animation (75ms) is shorter than its enter (150ms), so a dialog
|
|
50
|
+
// opened as this one closes sees this one's afterClosed land before its own afterOpened.
|
|
47
51
|
const activityContainer = this.activityContainer = matDialogRef.componentInstance;
|
|
48
|
-
|
|
49
|
-
const activityResult =
|
|
52
|
+
activityContainer.initialise(this.identifier, this.api);
|
|
53
|
+
const activityResult = activityContainer.startActivity(activityType, data);
|
|
50
54
|
// Tear the overlay down the moment the activity completes — decoupled from route sync. The
|
|
51
55
|
// route sync still runs (via activityResult / waitActivitiesSynchronised) but can wedge under
|
|
52
56
|
// some browser/extension combinations; gating close() on it would leave a stranded backdrop.
|
|
53
57
|
activityContainer.onceInactive(() => matDialogRef.close());
|
|
54
58
|
// Backstop: also close when the (route-synced) result settles, in case the inactive signal is
|
|
55
59
|
// ever missed. MatDialogRef.close() is idempotent, so a second call is a harmless no-op.
|
|
56
|
-
|
|
60
|
+
// then(close, close), not finally(close): finally's promise re-rejects on a cancel and nothing
|
|
61
|
+
// holds it. zone.js 0.13 happens not to report that, but native promises (zoneless) would.
|
|
62
|
+
const close = () => matDialogRef.close();
|
|
63
|
+
activityResult.then(close, close);
|
|
57
64
|
// we need to check if our onDone/onCancel methods above we called or if we were
|
|
58
65
|
// closed by the user clicking the backdrop. If the later then we need to cancel our
|
|
59
66
|
// activity.
|
|
60
67
|
if (enableCloseOnBackdropClick) {
|
|
61
68
|
matDialogRef.backdropClick().subscribe(event => {
|
|
62
|
-
if (this.canClose(options)) {
|
|
69
|
+
if (this.canClose(activityContainer, options)) {
|
|
63
70
|
activityContainer.cancelActiveActivity();
|
|
64
71
|
}
|
|
65
72
|
});
|
|
66
73
|
}
|
|
67
74
|
matDialogRef.keydownEvents().subscribe(event => {
|
|
68
75
|
if (event.key === 'Escape') {
|
|
69
|
-
if (this.canClose(options)) {
|
|
76
|
+
if (this.canClose(activityContainer, options)) {
|
|
70
77
|
activityContainer.cancelActiveActivity();
|
|
71
78
|
}
|
|
72
79
|
}
|
|
@@ -75,18 +82,22 @@ export class DialogInteractionContext extends AbstractInteractionContext {
|
|
|
75
82
|
if (activityContainer.isActive()) {
|
|
76
83
|
activityContainer.cancelActiveActivity();
|
|
77
84
|
}
|
|
78
|
-
|
|
85
|
+
// Release the field only if it's still ours: nulling a successor's would orphan the live
|
|
86
|
+
// dialog (isActive() false, its afterOpened and Escape handlers reading null).
|
|
87
|
+
if (this.activityContainer === activityContainer) {
|
|
88
|
+
this.activityContainer = null;
|
|
89
|
+
}
|
|
79
90
|
});
|
|
80
91
|
matDialogRef.updateSize();
|
|
81
92
|
matDialogRef.afterOpened().subscribe(promiseAlreadyFinished => {
|
|
82
93
|
matDialogRef.updateSize();
|
|
83
|
-
|
|
94
|
+
activityContainer.notifyReady(true);
|
|
84
95
|
});
|
|
85
96
|
return activityResult;
|
|
86
97
|
}
|
|
87
|
-
canClose(options) {
|
|
98
|
+
canClose(activityContainer, options) {
|
|
88
99
|
const disableClose = Opts.get(options).getOptional('disableClose', false);
|
|
89
|
-
return
|
|
100
|
+
return activityContainer.isActive() && (!activityContainer.disableClose && !disableClose);
|
|
90
101
|
}
|
|
91
102
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9tYXQtZGlhbG9nLWludGVyYWN0aW9uL2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBNkIsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUc5RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUk1RyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsMEJBQTBCO0lBTWpEO0lBQ1E7SUFDQTtJQUNSO0lBUGIsT0FBTyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxtQkFBbUIsQ0FBeUM7SUFDNUQsaUJBQWlCLENBQXdEO0lBRWpGLFlBQXFCLFVBQWtCLEVBQ1YsR0FBMkIsRUFDM0IsYUFBd0IsRUFDaEMsTUFBdUI7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFKVyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ1YsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQVc7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFFMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxR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QzFCLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUM1RCxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBbUM7UUFDbEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEaXNwb3NhYmxlLCBHYXJiYWdlQ29sbGVjdG9yLCBsYW5nIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0LCBPcHRzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQge0Fic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0fSBmcm9tICcuLi8uLi9hYnN0cmFjdC1pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB0eXBlIHtBY3Rpdml0eX0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHR5cGUge0FjdGl2aXR5UmVmfSBmcm9tICcuLi8uLi9hY3Rpdml0eS1yZWYnO1xuaW1wb3J0IHtBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7SW50ZXJhY3Rpb25Db250ZXh0fSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB0eXBlIHtJbnRlcmFjdGlvblNlcnZpY2V9IGZyb20gJy4uL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgRGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0IGV4dGVuZHMgQWJzdHJhY3RJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIHByaXZhdGUgZ2FyYmFnZSA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7XG4gIHByaXZhdGUgX2N1cnJlbnRBY3Rpdml0eVJlZjogQWN0aXZpdHlSZWY8dW5rbm93biwgdW5rbm93biwgdW5rbm93bj47XG4gIHByaXZhdGUgYWN0aXZpdHlDb250YWluZXI6IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PHVua25vd24sIHVua25vd24sIHVua25vd24+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcGk6IEludGVyYWN0aW9uU2VydmljZS5BcGksXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLFxuICAgICAgICAgICAgICByZWFkb25seSBjb25maWc6IE1hdERpYWxvZ0NvbmZpZykge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIGNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk7XG4gIH1cblxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdEaXNwb3NlIGNhbGxlZCB3aGlsZSBhY3RpdmUuJyk7XG4gICAgfVxuICAgIHRoaXMuZ2FyYmFnZS5kaXNwb3NlKCk7XG4gIH1cblxuICByZWdpc3RlckRpc3Bvc2FibGU8VCBleHRlbmRzIERpc3Bvc2FibGU+KGRpc3Bvc2FibGU6IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5nYXJiYWdlLnJlZ2lzdGVyRGlzcG9zYWJsZShkaXNwb3NhYmxlKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuYWN0aXZpdHlDb250YWluZXIgJiYgdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5pc0FjdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUFuZExhdW5jaEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIG9wdGlvbnM/OiBJbnRlcmFjdGlvbkNvbnRleHQuT3B0aW9ucyk6IFByb21pc2U8Uj4ge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9jdXJyZW50QWN0aXZpdHlSZWYpO1xuXG4gICAgY29uc3QgZW5hYmxlQ2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSBPcHRzLmdldChvcHRpb25zKS5nZXRPcHRpb25hbCgnZW5hYmxlQ2xvc2VPbkJhY2tkcm9wQ2xpY2snLCBmYWxzZSk7XG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICAuLi50aGlzLmNvbmZpZyxcbiAgICAgIC4uLntcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLCAvLyB3ZSdsbCBoYW5kbGUgdGhpcyBvdXJzZWx2ZXNcbiAgICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0J1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgbWF0RGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsIGNvbmZpZykgYXMgTWF0RGlhbG9nUmVmPEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+PjtcbiAgICBjb25zdCBhY3Rpdml0eUNvbnRhaW5lciA9IHRoaXMuYWN0aXZpdHlDb250YWluZXIgPSBtYXREaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5pbml0aWFsaXNlKHRoaXMuaWRlbnRpZmllciwgdGhpcy5hcGkpO1xuICAgIGNvbnN0IGFjdGl2aXR5UmVzdWx0ID0gdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG5cbiAgICAvLyBUZWFyIHRoZSBvdmVybGF5IGRvd24gdGhlIG1vbWVudCB0aGUgYWN0aXZpdHkgY29tcGxldGVzIOKAlCBkZWNvdXBsZWQgZnJvbSByb3V0ZSBzeW5jLiBUaGVcbiAgICAvLyByb3V0ZSBzeW5jIHN0aWxsIHJ1bnMgKHZpYSBhY3Rpdml0eVJlc3VsdCAvIHdhaXRBY3Rpdml0aWVzU3luY2hyb25pc2VkKSBidXQgY2FuIHdlZGdlIHVuZGVyXG4gICAgLy8gc29tZSBicm93c2VyL2V4dGVuc2lvbiBjb21iaW5hdGlvbnM7IGdhdGluZyBjbG9zZSgpIG9uIGl0IHdvdWxkIGxlYXZlIGEgc3RyYW5kZWQgYmFja2Ryb3AuXG4gICAgYWN0aXZpdHlDb250YWluZXIub25jZUluYWN0aXZlKCgpID0+IG1hdERpYWxvZ1JlZi5jbG9zZSgpKTtcbiAgICAvLyBCYWNrc3RvcDogYWxzbyBjbG9zZSB3aGVuIHRoZSAocm91dGUtc3luY2VkKSByZXN1bHQgc2V0dGxlcywgaW4gY2FzZSB0aGUgaW5hY3RpdmUgc2lnbmFsIGlzXG4gICAgLy8gZXZlciBtaXNzZWQuIE1hdERpYWxvZ1JlZi5jbG9zZSgpIGlzIGlkZW1wb3RlbnQsIHNvIGEgc2Vjb25kIGNhbGwgaXMgYSBoYXJtbGVzcyBuby1vcC5cbiAgICBhY3Rpdml0eVJlc3VsdC5maW5hbGx5KCgpID0+IG1hdERpYWxvZ1JlZi5jbG9zZSgpKTtcbiAgICAvLyB3ZSBuZWVkIHRvIGNoZWNrIGlmIG91ciBvbkRvbmUvb25DYW5jZWwgbWV0aG9kcyBhYm92ZSB3ZSBjYWxsZWQgb3IgaWYgd2Ugd2VyZVxuICAgIC8vIGNsb3NlZCBieSB0aGUgdXNlciBjbGlja2luZyB0aGUgYmFja2Ryb3AuICBJZiB0aGUgbGF0ZXIgdGhlbiB3ZSBuZWVkIHRvIGNhbmNlbCBvdXJcbiAgICAvLyBhY3Rpdml0eS5cbiAgICBpZiAoZW5hYmxlQ2xvc2VPbkJhY2tkcm9wQ2xpY2spIHtcbiAgICAgIG1hdERpYWxvZ1JlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY2FuQ2xvc2Uob3B0aW9ucykpIHtcbiAgICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBtYXREaWFsb2dSZWYua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICBpZiAodGhpcy5jYW5DbG9zZShvcHRpb25zKSkge1xuICAgICAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBtYXREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICBpZiAoYWN0aXZpdHlDb250YWluZXIuaXNBY3RpdmUoKSkge1xuICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lciA9IG51bGw7XG4gICAgfSk7XG4gICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICBtYXREaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgICAgdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5ub3RpZnlSZWFkeSh0cnVlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBhY3Rpdml0eVJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgY2FuQ2xvc2Uob3B0aW9uczogSW50ZXJhY3Rpb25Db250ZXh0Lk9wdGlvbnMpIHtcbiAgICBjb25zdCBkaXNhYmxlQ2xvc2UgPSBPcHRzLmdldChvcHRpb25zKS5nZXRPcHRpb25hbCgnZGlzYWJsZUNsb3NlJywgZmFsc2UpO1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmlzQWN0aXZlKCkgJiYgKCF0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmRpc2FibGVDbG9zZSAmJiAhZGlzYWJsZUNsb3NlKTtcbiAgfVxufVxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9tYXQtZGlhbG9nLWludGVyYWN0aW9uL2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBNkIsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUc5RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUk1RyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsMEJBQTBCO0lBTWpEO0lBQ1E7SUFDQTtJQUNSO0lBUGIsT0FBTyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxtQkFBbUIsQ0FBeUM7SUFDNUQsaUJBQWlCLENBQXdEO0lBRWpGLFlBQXFCLFVBQWtCLEVBQ1YsR0FBMkIsRUFDM0IsYUFBd0IsRUFDaEMsTUFBdUI7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFKVyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ1YsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQVc7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFFMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDbkQ7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0IsQ0FBdUIsVUFBYTtRQUNwRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFFUyx1QkFBdUIsQ0FBVSxZQUE4QyxFQUFFLElBQU8sRUFBRSxPQUFvQztRQUN0SSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXZDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEcsTUFBTSxNQUFNLEdBQW9CO1lBQzlCLEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDZCxHQUFHO2dCQUNELFlBQVksRUFBRSxJQUFJO2dCQUNsQixVQUFVLEVBQUUsNEJBQTRCO2FBQ3pDO1NBQ0YsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBc0QsQ0FBQztRQUN0SSw0RkFBNEY7UUFDNUYsK0ZBQStGO1FBQy9GLDRGQUE0RjtRQUM1Rix5RkFBeUY7UUFDekYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDO1FBQ2xGLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RCxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNFLDJGQUEyRjtRQUMzRiw4RkFBOEY7UUFDOUYsNkZBQTZGO1FBQzdGLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzRCw4RkFBOEY7UUFDOUYseUZBQXlGO1FBQ3pGLCtGQUErRjtRQUMvRiwyRkFBMkY7UUFDM0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGdGQUFnRjtRQUNoRixxRkFBcUY7UUFDckYsWUFBWTtRQUNaLElBQUksMEJBQTBCLEVBQUU7WUFDOUIsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDN0MsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxFQUFFO29CQUM3QyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2lCQUMxQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7Z0JBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDN0MsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztpQkFDMUM7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzVELElBQUksaUJBQWlCLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2hDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDMUM7WUFDRCx5RkFBeUY7WUFDekYsK0VBQStFO1lBQy9FLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLGlCQUFpQixFQUFFO2dCQUNoRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO2FBQy9CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzVELFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMxQixpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRU8sUUFBUSxDQUFDLGlCQUF3RSxFQUFFLE9BQW1DO1FBQzVILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRSxPQUFPLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1RixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUsIERpc3Bvc2FibGUsIEdhcmJhZ2VDb2xsZWN0b3IsIGxhbmcgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQsIE9wdHMgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7QWJzdHJhY3RJbnRlcmFjdGlvbkNvbnRleHR9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHR5cGUge0FjdGl2aXR5fSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgdHlwZSB7QWN0aXZpdHlSZWZ9IGZyb20gJy4uLy4uL2FjdGl2aXR5LXJlZic7XG5pbXBvcnQge0FjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHtJbnRlcmFjdGlvbkNvbnRleHR9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHR5cGUge0ludGVyYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vaW50ZXJhY3Rpb24uc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBEaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQgZXh0ZW5kcyBBYnN0cmFjdEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgcHJpdmF0ZSBnYXJiYWdlID0gbmV3IEdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgcHJpdmF0ZSBfY3VycmVudEFjdGl2aXR5UmVmOiBBY3Rpdml0eVJlZjx1bmtub3duLCB1bmtub3duLCB1bmtub3duPjtcbiAgcHJpdmF0ZSBhY3Rpdml0eUNvbnRhaW5lcjogQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8dW5rbm93biwgdW5rbm93biwgdW5rbm93bj47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFwaTogSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICB9XG5cbiAgY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlDb250YWluZXIuY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTtcbiAgfVxuXG4gIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ0Rpc3Bvc2UgY2FsbGVkIHdoaWxlIGFjdGl2ZS4nKTtcbiAgICB9XG4gICAgdGhpcy5nYXJiYWdlLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyRGlzcG9zYWJsZTxUIGV4dGVuZHMgRGlzcG9zYWJsZT4oZGlzcG9zYWJsZTogVCk6IFQge1xuICAgIHJldHVybiB0aGlzLmdhcmJhZ2UucmVnaXN0ZXJEaXNwb3NhYmxlKGRpc3Bvc2FibGUpO1xuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5hY3Rpdml0eUNvbnRhaW5lciAmJiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmlzQWN0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQW5kTGF1bmNoQWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YTogRCwgb3B0aW9ucz86IEludGVyYWN0aW9uQ29udGV4dC5PcHRpb25zKTogUHJvbWlzZTxSPiB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2N1cnJlbnRBY3Rpdml0eVJlZik7XG5cbiAgICBjb25zdCBlbmFibGVDbG9zZU9uQmFja2Ryb3BDbGljayA9IE9wdHMuZ2V0KG9wdGlvbnMpLmdldE9wdGlvbmFsKCdlbmFibGVDbG9zZU9uQmFja2Ryb3BDbGljaycsIGZhbHNlKTtcbiAgICBjb25zdCBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgICAgLi4ue1xuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsIC8vIHdlJ2xsIGhhbmRsZSB0aGlzIG91cnNlbHZlc1xuICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4+O1xuICAgIC8vIEV2ZXJ5dGhpbmcgYmVsb3cgd29ya3Mgb24gdGhpcyBkaWFsb2cncyBvd24gY29udGFpbmVyLCBuZXZlciB0aGUgYWN0aXZpdHlDb250YWluZXIgZmllbGQuXG4gICAgLy8gVGhlIGZpZWxkIHRyYWNrcyB0aGUgKmN1cnJlbnQqIGRpYWxvZywgYW5kIHRoZSBuZXh0IG9uZSBjYW4gY2xhaW0gaXQgd2hpbGUgdGhpcyBvbmUgaXMgc3RpbGxcbiAgICAvLyBjbG9zaW5nOiBNYXREaWFsb2cncyBleGl0IGFuaW1hdGlvbiAoNzVtcykgaXMgc2hvcnRlciB0aGFuIGl0cyBlbnRlciAoMTUwbXMpLCBzbyBhIGRpYWxvZ1xuICAgIC8vIG9wZW5lZCBhcyB0aGlzIG9uZSBjbG9zZXMgc2VlcyB0aGlzIG9uZSdzIGFmdGVyQ2xvc2VkIGxhbmQgYmVmb3JlIGl0cyBvd24gYWZ0ZXJPcGVuZWQuXG4gICAgY29uc3QgYWN0aXZpdHlDb250YWluZXIgPSB0aGlzLmFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIGFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxpc2UodGhpcy5pZGVudGlmaWVyLCB0aGlzLmFwaSk7XG4gICAgY29uc3QgYWN0aXZpdHlSZXN1bHQgPSBhY3Rpdml0eUNvbnRhaW5lci5zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG5cbiAgICAvLyBUZWFyIHRoZSBvdmVybGF5IGRvd24gdGhlIG1vbWVudCB0aGUgYWN0aXZpdHkgY29tcGxldGVzIOKAlCBkZWNvdXBsZWQgZnJvbSByb3V0ZSBzeW5jLiBUaGVcbiAgICAvLyByb3V0ZSBzeW5jIHN0aWxsIHJ1bnMgKHZpYSBhY3Rpdml0eVJlc3VsdCAvIHdhaXRBY3Rpdml0aWVzU3luY2hyb25pc2VkKSBidXQgY2FuIHdlZGdlIHVuZGVyXG4gICAgLy8gc29tZSBicm93c2VyL2V4dGVuc2lvbiBjb21iaW5hdGlvbnM7IGdhdGluZyBjbG9zZSgpIG9uIGl0IHdvdWxkIGxlYXZlIGEgc3RyYW5kZWQgYmFja2Ryb3AuXG4gICAgYWN0aXZpdHlDb250YWluZXIub25jZUluYWN0aXZlKCgpID0+IG1hdERpYWxvZ1JlZi5jbG9zZSgpKTtcbiAgICAvLyBCYWNrc3RvcDogYWxzbyBjbG9zZSB3aGVuIHRoZSAocm91dGUtc3luY2VkKSByZXN1bHQgc2V0dGxlcywgaW4gY2FzZSB0aGUgaW5hY3RpdmUgc2lnbmFsIGlzXG4gICAgLy8gZXZlciBtaXNzZWQuIE1hdERpYWxvZ1JlZi5jbG9zZSgpIGlzIGlkZW1wb3RlbnQsIHNvIGEgc2Vjb25kIGNhbGwgaXMgYSBoYXJtbGVzcyBuby1vcC5cbiAgICAvLyB0aGVuKGNsb3NlLCBjbG9zZSksIG5vdCBmaW5hbGx5KGNsb3NlKTogZmluYWxseSdzIHByb21pc2UgcmUtcmVqZWN0cyBvbiBhIGNhbmNlbCBhbmQgbm90aGluZ1xuICAgIC8vIGhvbGRzIGl0LiB6b25lLmpzIDAuMTMgaGFwcGVucyBub3QgdG8gcmVwb3J0IHRoYXQsIGJ1dCBuYXRpdmUgcHJvbWlzZXMgKHpvbmVsZXNzKSB3b3VsZC5cbiAgICBjb25zdCBjbG9zZSA9ICgpID0+IG1hdERpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIGFjdGl2aXR5UmVzdWx0LnRoZW4oY2xvc2UsIGNsb3NlKTtcbiAgICAvLyB3ZSBuZWVkIHRvIGNoZWNrIGlmIG91ciBvbkRvbmUvb25DYW5jZWwgbWV0aG9kcyBhYm92ZSB3ZSBjYWxsZWQgb3IgaWYgd2Ugd2VyZVxuICAgIC8vIGNsb3NlZCBieSB0aGUgdXNlciBjbGlja2luZyB0aGUgYmFja2Ryb3AuICBJZiB0aGUgbGF0ZXIgdGhlbiB3ZSBuZWVkIHRvIGNhbmNlbCBvdXJcbiAgICAvLyBhY3Rpdml0eS5cbiAgICBpZiAoZW5hYmxlQ2xvc2VPbkJhY2tkcm9wQ2xpY2spIHtcbiAgICAgIG1hdERpYWxvZ1JlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY2FuQ2xvc2UoYWN0aXZpdHlDb250YWluZXIsIG9wdGlvbnMpKSB7XG4gICAgICAgICAgYWN0aXZpdHlDb250YWluZXIuY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbWF0RGlhbG9nUmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgaWYgKHRoaXMuY2FuQ2xvc2UoYWN0aXZpdHlDb250YWluZXIsIG9wdGlvbnMpKSB7XG4gICAgICAgICAgYWN0aXZpdHlDb250YWluZXIuY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIG1hdERpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShwcm9taXNlQWxyZWFkeUZpbmlzaGVkID0+IHtcbiAgICAgIGlmIChhY3Rpdml0eUNvbnRhaW5lci5pc0FjdGl2ZSgpKSB7XG4gICAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk7XG4gICAgICB9XG4gICAgICAvLyBSZWxlYXNlIHRoZSBmaWVsZCBvbmx5IGlmIGl0J3Mgc3RpbGwgb3VyczogbnVsbGluZyBhIHN1Y2Nlc3NvcidzIHdvdWxkIG9ycGhhbiB0aGUgbGl2ZVxuICAgICAgLy8gZGlhbG9nIChpc0FjdGl2ZSgpIGZhbHNlLCBpdHMgYWZ0ZXJPcGVuZWQgYW5kIEVzY2FwZSBoYW5kbGVycyByZWFkaW5nIG51bGwpLlxuICAgICAgaWYgKHRoaXMuYWN0aXZpdHlDb250YWluZXIgPT09IGFjdGl2aXR5Q29udGFpbmVyKSB7XG4gICAgICAgIHRoaXMuYWN0aXZpdHlDb250YWluZXIgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICAgIG1hdERpYWxvZ1JlZi51cGRhdGVTaXplKCk7XG4gICAgbWF0RGlhbG9nUmVmLmFmdGVyT3BlbmVkKCkuc3Vic2NyaWJlKHByb21pc2VBbHJlYWR5RmluaXNoZWQgPT4ge1xuICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLm5vdGlmeVJlYWR5KHRydWUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGFjdGl2aXR5UmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5DbG9zZShhY3Rpdml0eUNvbnRhaW5lcjogQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8dW5rbm93biwgdW5rbm93biwgdW5rbm93bj4sIG9wdGlvbnM6IEludGVyYWN0aW9uQ29udGV4dC5PcHRpb25zKSB7XG4gICAgY29uc3QgZGlzYWJsZUNsb3NlID0gT3B0cy5nZXQob3B0aW9ucykuZ2V0T3B0aW9uYWwoJ2Rpc2FibGVDbG9zZScsIGZhbHNlKTtcbiAgICByZXR1cm4gYWN0aXZpdHlDb250YWluZXIuaXNBY3RpdmUoKSAmJiAoIWFjdGl2aXR5Q29udGFpbmVyLmRpc2FibGVDbG9zZSAmJiAhZGlzYWJsZUNsb3NlKTtcbiAgfVxufVxuIl19
|
|
@@ -15239,29 +15239,36 @@ class DialogInteractionContext extends AbstractInteractionContext {
|
|
|
15239
15239
|
}
|
|
15240
15240
|
};
|
|
15241
15241
|
const matDialogRef = this.dialogService.open(ActivityContainerComponent, config);
|
|
15242
|
+
// Everything below works on this dialog's own container, never the activityContainer field.
|
|
15243
|
+
// The field tracks the *current* dialog, and the next one can claim it while this one is still
|
|
15244
|
+
// closing: MatDialog's exit animation (75ms) is shorter than its enter (150ms), so a dialog
|
|
15245
|
+
// opened as this one closes sees this one's afterClosed land before its own afterOpened.
|
|
15242
15246
|
const activityContainer = this.activityContainer = matDialogRef.componentInstance;
|
|
15243
|
-
|
|
15244
|
-
const activityResult =
|
|
15247
|
+
activityContainer.initialise(this.identifier, this.api);
|
|
15248
|
+
const activityResult = activityContainer.startActivity(activityType, data);
|
|
15245
15249
|
// Tear the overlay down the moment the activity completes — decoupled from route sync. The
|
|
15246
15250
|
// route sync still runs (via activityResult / waitActivitiesSynchronised) but can wedge under
|
|
15247
15251
|
// some browser/extension combinations; gating close() on it would leave a stranded backdrop.
|
|
15248
15252
|
activityContainer.onceInactive(() => matDialogRef.close());
|
|
15249
15253
|
// Backstop: also close when the (route-synced) result settles, in case the inactive signal is
|
|
15250
15254
|
// ever missed. MatDialogRef.close() is idempotent, so a second call is a harmless no-op.
|
|
15251
|
-
|
|
15255
|
+
// then(close, close), not finally(close): finally's promise re-rejects on a cancel and nothing
|
|
15256
|
+
// holds it. zone.js 0.13 happens not to report that, but native promises (zoneless) would.
|
|
15257
|
+
const close = () => matDialogRef.close();
|
|
15258
|
+
activityResult.then(close, close);
|
|
15252
15259
|
// we need to check if our onDone/onCancel methods above we called or if we were
|
|
15253
15260
|
// closed by the user clicking the backdrop. If the later then we need to cancel our
|
|
15254
15261
|
// activity.
|
|
15255
15262
|
if (enableCloseOnBackdropClick) {
|
|
15256
15263
|
matDialogRef.backdropClick().subscribe(event => {
|
|
15257
|
-
if (this.canClose(options)) {
|
|
15264
|
+
if (this.canClose(activityContainer, options)) {
|
|
15258
15265
|
activityContainer.cancelActiveActivity();
|
|
15259
15266
|
}
|
|
15260
15267
|
});
|
|
15261
15268
|
}
|
|
15262
15269
|
matDialogRef.keydownEvents().subscribe(event => {
|
|
15263
15270
|
if (event.key === 'Escape') {
|
|
15264
|
-
if (this.canClose(options)) {
|
|
15271
|
+
if (this.canClose(activityContainer, options)) {
|
|
15265
15272
|
activityContainer.cancelActiveActivity();
|
|
15266
15273
|
}
|
|
15267
15274
|
}
|
|
@@ -15270,18 +15277,22 @@ class DialogInteractionContext extends AbstractInteractionContext {
|
|
|
15270
15277
|
if (activityContainer.isActive()) {
|
|
15271
15278
|
activityContainer.cancelActiveActivity();
|
|
15272
15279
|
}
|
|
15273
|
-
|
|
15280
|
+
// Release the field only if it's still ours: nulling a successor's would orphan the live
|
|
15281
|
+
// dialog (isActive() false, its afterOpened and Escape handlers reading null).
|
|
15282
|
+
if (this.activityContainer === activityContainer) {
|
|
15283
|
+
this.activityContainer = null;
|
|
15284
|
+
}
|
|
15274
15285
|
});
|
|
15275
15286
|
matDialogRef.updateSize();
|
|
15276
15287
|
matDialogRef.afterOpened().subscribe(promiseAlreadyFinished => {
|
|
15277
15288
|
matDialogRef.updateSize();
|
|
15278
|
-
|
|
15289
|
+
activityContainer.notifyReady(true);
|
|
15279
15290
|
});
|
|
15280
15291
|
return activityResult;
|
|
15281
15292
|
}
|
|
15282
|
-
canClose(options) {
|
|
15293
|
+
canClose(activityContainer, options) {
|
|
15283
15294
|
const disableClose = Opts.get(options).getOptional('disableClose', false);
|
|
15284
|
-
return
|
|
15295
|
+
return activityContainer.isActive() && (!activityContainer.disableClose && !disableClose);
|
|
15285
15296
|
}
|
|
15286
15297
|
}
|
|
15287
15298
|
|