@coolon/angular-ui-powerups 0.0.96 → 0.0.98
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 +2960 -2288
- 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 +17 -20
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +17 -20
- package/esm2015/index.js +2 -2
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +16 -52
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +16 -47
- package/esm2015/lib/interaction/index.js +4 -2
- package/esm2015/lib/interaction/interaction-context-base.js +158 -0
- package/esm2015/lib/interaction/interaction-context.js +58 -78
- package/esm2015/lib/interaction/interaction.module.js +1 -1
- package/esm2015/lib/interaction/services/dialog-interaction-context.js +163 -0
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +68 -181
- package/esm2015/lib/interaction/services/modal-interaction.service.js +109 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +9 -43
- package/esm2015/lib/place/guards/abstract-place.guard.js +165 -0
- package/esm2015/lib/place/guards/consolidated-param-map.js +133 -0
- package/esm2015/lib/place/guards/interaction.guard.js +113 -0
- package/esm2015/lib/place/guards/navigation-state.js +613 -0
- package/esm2015/lib/place/guards/place-component-deactivation-handler.js +87 -0
- package/esm2015/lib/place/index.js +7 -5
- package/esm2015/lib/place/place-component.js +1 -1
- package/esm2015/lib/place/place-router.js +162 -236
- package/esm2015/lib/place/place.module.js +2 -4
- package/esm2015/lib/place/route/visit-sanitiser.js +2 -2
- package/esm2015/lib/place/url-snapshot.js +96 -0
- package/esm2015/public_api.js +3 -3
- package/esm5/coolon-angular-ui-powerups.js +17 -20
- package/esm5/index.js +2 -2
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +23 -74
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +26 -76
- package/esm5/lib/interaction/index.js +4 -2
- package/esm5/lib/interaction/interaction-context-base.js +211 -0
- package/esm5/lib/interaction/interaction-context.js +72 -94
- package/esm5/lib/interaction/interaction.module.js +1 -1
- package/esm5/lib/interaction/services/dialog-interaction-context.js +188 -0
- package/esm5/lib/interaction/services/dialog-interaction.service.js +83 -232
- package/esm5/lib/interaction/services/modal-interaction.service.js +153 -0
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +9 -43
- package/esm5/lib/place/guards/abstract-place.guard.js +212 -0
- package/esm5/lib/place/guards/consolidated-param-map.js +161 -0
- package/esm5/lib/place/guards/interaction.guard.js +125 -0
- package/esm5/lib/place/guards/navigation-state.js +764 -0
- package/esm5/lib/place/guards/place-component-deactivation-handler.js +104 -0
- package/esm5/lib/place/index.js +7 -5
- package/esm5/lib/place/place-component.js +1 -1
- package/esm5/lib/place/place-router.js +191 -294
- package/esm5/lib/place/place.module.js +2 -4
- package/esm5/lib/place/route/visit-sanitiser.js +2 -2
- package/esm5/lib/place/url-snapshot.js +120 -0
- package/esm5/public_api.js +3 -3
- package/fesm2015/coolon-angular-ui-powerups.js +2135 -1587
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +3083 -2412
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +6 -11
- package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +4 -9
- package/lib/interaction/index.d.ts +3 -1
- package/lib/interaction/interaction-context-base.d.ts +27 -0
- package/lib/interaction/interaction-context.d.ts +18 -15
- package/lib/interaction/services/dialog-interaction-context.d.ts +18 -0
- package/lib/interaction/services/dialog-interaction.service.d.ts +14 -23
- package/lib/interaction/services/modal-interaction.service.d.ts +15 -0
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +1 -4
- package/lib/place/guards/abstract-place.guard.d.ts +19 -0
- package/lib/place/guards/consolidated-param-map.d.ts +14 -0
- package/lib/{interaction/guards/interaction-guard.service.d.ts → place/guards/interaction.guard.d.ts} +8 -4
- package/lib/place/guards/navigation-state.d.ts +96 -0
- package/lib/place/guards/place-component-deactivation-handler.d.ts +12 -0
- package/lib/place/index.d.ts +6 -4
- package/lib/place/place-component.d.ts +1 -1
- package/lib/place/place-router.d.ts +25 -33
- package/lib/place/url-snapshot.d.ts +16 -0
- package/package.json +1 -1
- package/schematics/place-routes/place-def.js +2 -2
- package/schematics/place-routes/templates/place-routes.ts.template +9 -16
- package/esm2015/lib/interaction/guards/interaction-guard.service.js +0 -85
- package/esm2015/lib/place/guards/abstract-enter-place.guard.js +0 -315
- package/esm2015/lib/place/guards/leave-place.guard.js +0 -47
- package/esm2015/lib/place/navigation-session.js +0 -279
- package/esm2015/lib/place/places/noop-gateway-place.component.js +0 -58
- package/esm5/lib/interaction/guards/interaction-guard.service.js +0 -94
- package/esm5/lib/place/guards/abstract-enter-place.guard.js +0 -387
- package/esm5/lib/place/guards/leave-place.guard.js +0 -55
- package/esm5/lib/place/navigation-session.js +0 -353
- package/esm5/lib/place/places/noop-gateway-place.component.js +0 -61
- package/lib/place/guards/abstract-enter-place.guard.d.ts +0 -33
- package/lib/place/guards/leave-place.guard.d.ts +0 -8
- package/lib/place/navigation-session.d.ts +0 -43
- package/lib/place/places/noop-gateway-place.component.d.ts +0 -10
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Component, ViewChild } from '@angular/core';
|
|
7
|
-
import {
|
|
7
|
+
import { MutableValueModel } from '@coolon/pectin';
|
|
8
|
+
import { InteractionContextBase } from '../../interaction-context-base';
|
|
8
9
|
import { ActivityContainerComponent } from '../activity-container/activity-container.component';
|
|
9
|
-
import { AlertDialogComponent } from '../alert-dialog/alert-dialog.component';
|
|
10
|
-
import { ConfirmThenDialogComponent } from '../confirm-then-dialog/confirm-then-dialog.component';
|
|
11
|
-
import { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';
|
|
12
10
|
/**
|
|
13
11
|
* @template D, R, E
|
|
14
12
|
*/
|
|
15
13
|
var InplaceInteractionContextComponent = /** @class */ (function (_super) {
|
|
16
14
|
tslib_1.__extends(InplaceInteractionContextComponent, _super);
|
|
17
15
|
function InplaceInteractionContextComponent() {
|
|
18
|
-
|
|
16
|
+
var _this = _super.call(this) || this;
|
|
17
|
+
_this._active = new MutableValueModel(false);
|
|
18
|
+
return _this;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* @return {?}
|
|
@@ -26,74 +26,16 @@ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
|
|
|
26
26
|
function () {
|
|
27
27
|
this.setActivityList(this.interactionContext.activityList);
|
|
28
28
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
* @param {?} alert
|
|
40
|
-
* @return {?}
|
|
41
|
-
*/
|
|
42
|
-
InplaceInteractionContextComponent.prototype.alert = /**
|
|
43
|
-
* @param {?} alert
|
|
44
|
-
* @return {?}
|
|
45
|
-
*/
|
|
46
|
-
function (alert) {
|
|
47
|
-
// TODO: Test disableClose === false
|
|
48
|
-
return this._startActivity(AlertDialogComponent, alert);
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* @param {?} confirm
|
|
52
|
-
* @return {?}
|
|
53
|
-
*/
|
|
54
|
-
InplaceInteractionContextComponent.prototype.confirmOrReject = /**
|
|
55
|
-
* @param {?} confirm
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
function (confirm) {
|
|
59
|
-
return this._startActivity(ConfirmationDialogComponent, confirm);
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* @template D1, R1, E1
|
|
63
|
-
* @param {?} confirm
|
|
64
|
-
* @param {?} activityType
|
|
65
|
-
* @param {?=} data
|
|
66
|
-
* @return {?}
|
|
67
|
-
*/
|
|
68
|
-
InplaceInteractionContextComponent.prototype.confirmThen = /**
|
|
69
|
-
* @template D1, R1, E1
|
|
70
|
-
* @param {?} confirm
|
|
71
|
-
* @param {?} activityType
|
|
72
|
-
* @param {?=} data
|
|
73
|
-
* @return {?}
|
|
74
|
-
*/
|
|
75
|
-
function (confirm, activityType, data) {
|
|
76
|
-
return this._startActivity(ConfirmThenDialogComponent, {
|
|
77
|
-
confirm: confirm,
|
|
78
|
-
activityType: activityType,
|
|
79
|
-
data: data
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
* @template D1, R1, E1
|
|
84
|
-
* @param {?} activityType
|
|
85
|
-
* @param {?=} data
|
|
86
|
-
* @return {?}
|
|
87
|
-
*/
|
|
88
|
-
InplaceInteractionContextComponent.prototype.startActivity = /**
|
|
89
|
-
* @template D1, R1, E1
|
|
90
|
-
* @param {?} activityType
|
|
91
|
-
* @param {?=} data
|
|
92
|
-
* @return {?}
|
|
93
|
-
*/
|
|
94
|
-
function (activityType, data) {
|
|
95
|
-
return this._startActivity(activityType, data);
|
|
96
|
-
};
|
|
29
|
+
Object.defineProperty(InplaceInteractionContextComponent.prototype, "active", {
|
|
30
|
+
get: /**
|
|
31
|
+
* @return {?}
|
|
32
|
+
*/
|
|
33
|
+
function () {
|
|
34
|
+
return this._active.readonly;
|
|
35
|
+
},
|
|
36
|
+
enumerable: true,
|
|
37
|
+
configurable: true
|
|
38
|
+
});
|
|
97
39
|
/**
|
|
98
40
|
* @protected
|
|
99
41
|
* @template D1, R1, E1
|
|
@@ -110,6 +52,7 @@ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
|
|
|
110
52
|
*/
|
|
111
53
|
function (activityType, data) {
|
|
112
54
|
var _this = this;
|
|
55
|
+
this._active.value = true;
|
|
113
56
|
/** @type {?} */
|
|
114
57
|
var self = this;
|
|
115
58
|
return new Promise((/**
|
|
@@ -126,6 +69,7 @@ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
|
|
|
126
69
|
* @return {?}
|
|
127
70
|
*/
|
|
128
71
|
function (result) {
|
|
72
|
+
self._active.value = false;
|
|
129
73
|
resolve(result);
|
|
130
74
|
},
|
|
131
75
|
onCancel: /**
|
|
@@ -133,6 +77,7 @@ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
|
|
|
133
77
|
* @return {?}
|
|
134
78
|
*/
|
|
135
79
|
function (error) {
|
|
80
|
+
self._active.value = false;
|
|
136
81
|
reject(error);
|
|
137
82
|
}
|
|
138
83
|
};
|
|
@@ -148,15 +93,20 @@ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
|
|
|
148
93
|
/** @nocollapse */
|
|
149
94
|
InplaceInteractionContextComponent.ctorParameters = function () { return []; };
|
|
150
95
|
InplaceInteractionContextComponent.propDecorators = {
|
|
151
|
-
interactionContext: [{ type: ViewChild, args: [
|
|
96
|
+
interactionContext: [{ type: ViewChild, args: ['activityContainer', { static: true },] }]
|
|
152
97
|
};
|
|
153
98
|
return InplaceInteractionContextComponent;
|
|
154
|
-
}(
|
|
99
|
+
}(InteractionContextBase));
|
|
155
100
|
export { InplaceInteractionContextComponent };
|
|
156
101
|
if (false) {
|
|
157
102
|
/** @type {?} */
|
|
158
103
|
InplaceInteractionContextComponent.prototype.interactionContext;
|
|
159
104
|
/** @type {?} */
|
|
160
105
|
InplaceInteractionContextComponent.prototype.initialActivityContext;
|
|
106
|
+
/**
|
|
107
|
+
* @type {?}
|
|
108
|
+
* @private
|
|
109
|
+
*/
|
|
110
|
+
InplaceInteractionContextComponent.prototype._active;
|
|
161
111
|
}
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBNEMsaUJBQWlCLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7QUFHaEc7SUFLaUUsOERBQXNCO0lBU3JGO1FBQUEsWUFDRSxpQkFBTyxTQUNSO1FBSk8sYUFBTyxHQUFHLElBQUksaUJBQWlCLENBQVUsS0FBSyxDQUFDLENBQUM7O0lBSXhELENBQUM7Ozs7SUFFRCw0REFBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsc0JBQUksc0RBQU07Ozs7UUFBVjtZQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDL0IsQ0FBQzs7O09BQUE7Ozs7Ozs7O0lBRVMsMkRBQWM7Ozs7Ozs7SUFBeEIsVUFBcUMsWUFBaUQsRUFBRSxJQUFTO1FBQWpHLGlCQWlCQztRQWhCQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7O1lBQ3BCLElBQUksR0FBRyxJQUFJO1FBQ2pCLE9BQU8sSUFBSSxPQUFPOzs7OztRQUFLLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDckMsS0FBSSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixHQUFHO2dCQUNyRCxhQUFhLEVBQUUsWUFBWTtnQkFDM0IsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLE1BQU07Ozs7MEJBQUMsTUFBTTtvQkFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEIsQ0FBQztnQkFDRCxRQUFROzs7OzBCQUFDLEtBQUs7b0JBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkEzQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLGdjQUEyRDs7aUJBRTVEOzs7OztxQ0FHRSxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztJQXNDbEQseUNBQUM7Q0FBQSxBQTdDRCxDQUtpRSxzQkFBc0IsR0F3Q3RGO1NBeENZLGtDQUFrQzs7O0lBRTdDLGdFQUM4RDs7SUFFOUQsb0VBQXVEOzs7OztJQUV2RCxxREFBd0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsIERzbCwgTXV0YWJsZVZhbHVlTW9kZWwsIFRyYW5zYWN0aW9uT2JzZXJ2ZXIgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dEJhc2UgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi1jb250ZXh0LWJhc2UnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbnRleHQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIElucGxhY2VJbnRlcmFjdGlvbkNvbnRleHRDb21wb25lbnQ8RCwgUiwgRT4gZXh0ZW5kcyBJbnRlcmFjdGlvbkNvbnRleHRCYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQFZpZXdDaGlsZCgnYWN0aXZpdHlDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnRlcmFjdGlvbkNvbnRleHQ6IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PGFueSwgYW55LCBhbnk+O1xuXG4gIGluaXRpYWxBY3Rpdml0eUNvbnRleHQ6IEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPjtcblxuICBwcml2YXRlIF9hY3RpdmUgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBY3Rpdml0eUxpc3QodGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuYWN0aXZpdHlMaXN0KTtcbiAgfVxuXG4gIGdldCBhY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZS5yZWFkb25seTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgdGhpcy5fYWN0aXZlLnZhbHVlID0gdHJ1ZTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4gbmV3IFByb21pc2U8UjE+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmluaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQgPSB7XG4gICAgICAgIGFjdGl2aXR5Q2xhc3M6IGFjdGl2aXR5VHlwZSxcbiAgICAgICAgYWN0aXZpdHlEYXRhOiBkYXRhLFxuICAgICAgICBvbkRvbmUocmVzdWx0KSB7XG4gICAgICAgICAgc2VsZi5fYWN0aXZlLnZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbChlcnJvcikge1xuICAgICAgICAgIHNlbGYuX2FjdGl2ZS52YWx1ZSA9IGZhbHNlO1xuICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxufVxuIl19
|
|
@@ -9,6 +9,7 @@ export { AbstractActivity } from "./abstract-activity";
|
|
|
9
9
|
export { ACTIVITY_DATA, Activity } from "./activity";
|
|
10
10
|
export {} from "./alert";
|
|
11
11
|
export {} from "./confirm";
|
|
12
|
+
export { InteractionContextBase } from "./interaction-context-base";
|
|
12
13
|
export { InteractionContext } from "./interaction-context";
|
|
13
14
|
export { InteractionModule } from "./interaction.module";
|
|
14
15
|
export {} from "./result";
|
|
@@ -20,6 +21,7 @@ export { ConfirmThenDialogComponent } from "./components/confirm-then-dialog/con
|
|
|
20
21
|
export { ConfirmationDialogComponent } from "./components/confirmation-dialog/confirmation-dialog.component";
|
|
21
22
|
export { InplaceInteractionContextComponent } from "./components/inplace-interaction-context/inplace-interaction-context.component";
|
|
22
23
|
export { InteractionOutletComponent } from "./components/interaction-outlet/interaction-outlet.component";
|
|
23
|
-
export {
|
|
24
|
+
export { DialogInteractionContext } from "./services/dialog-interaction-context";
|
|
24
25
|
export { DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from "./services/dialog-interaction.service";
|
|
25
|
-
|
|
26
|
+
export { ModalInteractionService } from "./services/modal-interaction.service";
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLHdDQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQix1Q0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxtQ0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLG1EQUFjLGdGQUFnRixDQUFDO0FBQy9GLDJDQUFjLDhEQUE4RCxDQUFDO0FBQzdFLHlDQUFjLHVDQUF1QyxDQUFDO0FBQ3RELDhFQUFjLHVDQUF1QyxDQUFDO0FBQ3RELHdDQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRlcmFjdGlvbi1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRlcmFjdGlvbi5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jlc3VsdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2ludGVyYWN0aW9uLW91dGxldC9pbnRlcmFjdGlvbi1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlcy9kaWFsb2ctaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2VzL21vZGFsLWludGVyYWN0aW9uLnNlcnZpY2VcIjtcbiJdfQ==
|
|
@@ -0,0 +1,211 @@
|
|
|
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 { Deferred, DelegatingListModel, Dsl } from '@coolon/pectin';
|
|
7
|
+
import * as _ from 'lodash';
|
|
8
|
+
import { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';
|
|
9
|
+
import { ConfirmThenDialogComponent } from './components/confirm-then-dialog/confirm-then-dialog.component';
|
|
10
|
+
import { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';
|
|
11
|
+
import { InteractionContext } from './interaction-context';
|
|
12
|
+
/**
|
|
13
|
+
* @abstract
|
|
14
|
+
*/
|
|
15
|
+
var /**
|
|
16
|
+
* @abstract
|
|
17
|
+
*/
|
|
18
|
+
InteractionContextBase = /** @class */ (function (_super) {
|
|
19
|
+
tslib_1.__extends(InteractionContextBase, _super);
|
|
20
|
+
function InteractionContextBase() {
|
|
21
|
+
var _this = _super.call(this) || this;
|
|
22
|
+
/**
|
|
23
|
+
* Returns the current list of activities that are in progress.
|
|
24
|
+
* This model is only updated in the next tick after the view has been updated.
|
|
25
|
+
*/
|
|
26
|
+
_this._activityListDelegate = new DelegatingListModel();
|
|
27
|
+
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;
|
|
28
|
+
when.listOf(_this.activityList).becomesPopulated((/**
|
|
29
|
+
* @param {?} activities
|
|
30
|
+
* @return {?}
|
|
31
|
+
*/
|
|
32
|
+
function (activities) {
|
|
33
|
+
if (_this.deferredGetCurrentActivity) {
|
|
34
|
+
_this.deferredGetCurrentActivity.resolve(_.last(activities));
|
|
35
|
+
_this.deferredGetCurrentActivity = null;
|
|
36
|
+
}
|
|
37
|
+
}));
|
|
38
|
+
return _this;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @protected
|
|
42
|
+
* @param {?} activityList
|
|
43
|
+
* @return {?}
|
|
44
|
+
*/
|
|
45
|
+
InteractionContextBase.prototype.setActivityList = /**
|
|
46
|
+
* @protected
|
|
47
|
+
* @param {?} activityList
|
|
48
|
+
* @return {?}
|
|
49
|
+
*/
|
|
50
|
+
function (activityList) {
|
|
51
|
+
this._activityListDelegate.setDelegate(activityList);
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(InteractionContextBase.prototype, "activityList", {
|
|
54
|
+
get: /**
|
|
55
|
+
* @return {?}
|
|
56
|
+
*/
|
|
57
|
+
function () {
|
|
58
|
+
return this._activityListDelegate.readonly;
|
|
59
|
+
},
|
|
60
|
+
enumerable: true,
|
|
61
|
+
configurable: true
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Returns the activity that is currently active.
|
|
65
|
+
* This model is only updated in the next tick after the view has been updated.
|
|
66
|
+
*/
|
|
67
|
+
/**
|
|
68
|
+
* Returns the activity that is currently active.
|
|
69
|
+
* This model is only updated in the next tick after the view has been updated.
|
|
70
|
+
* @return {?}
|
|
71
|
+
*/
|
|
72
|
+
InteractionContextBase.prototype.getCurrentActivity = /**
|
|
73
|
+
* Returns the activity that is currently active.
|
|
74
|
+
* This model is only updated in the next tick after the view has been updated.
|
|
75
|
+
* @return {?}
|
|
76
|
+
*/
|
|
77
|
+
function () {
|
|
78
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
79
|
+
return tslib_1.__generator(this, function (_a) {
|
|
80
|
+
if (!this.isActive()) {
|
|
81
|
+
return [2 /*return*/, Promise.reject('no activity in progress')];
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
if (this.deferredGetCurrentActivity) {
|
|
85
|
+
// we're already waiting then just return the same promise
|
|
86
|
+
return [2 /*return*/, this.deferredGetCurrentActivity.promise];
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
if (this.activityList.length < 1) {
|
|
90
|
+
this.deferredGetCurrentActivity = Deferred.defer();
|
|
91
|
+
return [2 /*return*/, this.deferredGetCurrentActivity.promise];
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return [2 /*return*/, _.last(this.activityList.value)];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return [2 /*return*/];
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* @template D, R, E
|
|
104
|
+
* @param {?} activityType
|
|
105
|
+
* @param {?=} data
|
|
106
|
+
* @return {?}
|
|
107
|
+
*/
|
|
108
|
+
InteractionContextBase.prototype.startActivity = /**
|
|
109
|
+
* @template D, R, E
|
|
110
|
+
* @param {?} activityType
|
|
111
|
+
* @param {?=} data
|
|
112
|
+
* @return {?}
|
|
113
|
+
*/
|
|
114
|
+
function (activityType, data) {
|
|
115
|
+
return this._startActivity(activityType, data);
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* @param {?} confirm
|
|
119
|
+
* @return {?}
|
|
120
|
+
*/
|
|
121
|
+
InteractionContextBase.prototype.confirm = /**
|
|
122
|
+
* @param {?} confirm
|
|
123
|
+
* @return {?}
|
|
124
|
+
*/
|
|
125
|
+
function (confirm) {
|
|
126
|
+
// Important: we have to implement confirmOrReject as the main entry point
|
|
127
|
+
// as the canDeactivation guards need to be able to cancel an interaction
|
|
128
|
+
// without caring about returning a value.
|
|
129
|
+
return this.confirmOrReject(confirm).then((/**
|
|
130
|
+
* @return {?}
|
|
131
|
+
*/
|
|
132
|
+
function () { return true; })).catch((/**
|
|
133
|
+
* @return {?}
|
|
134
|
+
*/
|
|
135
|
+
function () { return false; }));
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* @param {?} alert
|
|
139
|
+
* @return {?}
|
|
140
|
+
*/
|
|
141
|
+
InteractionContextBase.prototype.alert = /**
|
|
142
|
+
* @param {?} alert
|
|
143
|
+
* @return {?}
|
|
144
|
+
*/
|
|
145
|
+
function (alert) {
|
|
146
|
+
// TODO: Test disableClose === false
|
|
147
|
+
return this._startActivity(AlertDialogComponent, alert, false);
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* @param {?} confirm
|
|
151
|
+
* @return {?}
|
|
152
|
+
*/
|
|
153
|
+
InteractionContextBase.prototype.confirmOrReject = /**
|
|
154
|
+
* @param {?} confirm
|
|
155
|
+
* @return {?}
|
|
156
|
+
*/
|
|
157
|
+
function (confirm) {
|
|
158
|
+
return this._startActivity(ConfirmationDialogComponent, confirm, true);
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* @template D, R, E
|
|
162
|
+
* @param {?} confirm
|
|
163
|
+
* @param {?} activityType
|
|
164
|
+
* @param {?=} data
|
|
165
|
+
* @return {?}
|
|
166
|
+
*/
|
|
167
|
+
InteractionContextBase.prototype.confirmThen = /**
|
|
168
|
+
* @template D, R, E
|
|
169
|
+
* @param {?} confirm
|
|
170
|
+
* @param {?} activityType
|
|
171
|
+
* @param {?=} data
|
|
172
|
+
* @return {?}
|
|
173
|
+
*/
|
|
174
|
+
function (confirm, activityType, data) {
|
|
175
|
+
return this._startActivity(ConfirmThenDialogComponent, {
|
|
176
|
+
confirm: confirm,
|
|
177
|
+
activityType: activityType,
|
|
178
|
+
data: data
|
|
179
|
+
}, true);
|
|
180
|
+
};
|
|
181
|
+
return InteractionContextBase;
|
|
182
|
+
}(InteractionContext));
|
|
183
|
+
/**
|
|
184
|
+
* @abstract
|
|
185
|
+
*/
|
|
186
|
+
export { InteractionContextBase };
|
|
187
|
+
if (false) {
|
|
188
|
+
/**
|
|
189
|
+
* Returns the current list of activities that are in progress.
|
|
190
|
+
* This model is only updated in the next tick after the view has been updated.
|
|
191
|
+
* @type {?}
|
|
192
|
+
* @private
|
|
193
|
+
*/
|
|
194
|
+
InteractionContextBase.prototype._activityListDelegate;
|
|
195
|
+
/**
|
|
196
|
+
* @type {?}
|
|
197
|
+
* @private
|
|
198
|
+
*/
|
|
199
|
+
InteractionContextBase.prototype.deferredGetCurrentActivity;
|
|
200
|
+
/**
|
|
201
|
+
* @abstract
|
|
202
|
+
* @protected
|
|
203
|
+
* @template D, R, E
|
|
204
|
+
* @param {?} activityType
|
|
205
|
+
* @param {?=} data
|
|
206
|
+
* @param {?=} disableClose
|
|
207
|
+
* @return {?}
|
|
208
|
+
*/
|
|
209
|
+
InteractionContextBase.prototype._startActivity = function (activityType, data, disableClose) { };
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLEdBQUcsRUFJSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTNEOzs7O0lBQXFELGtEQUFrQjtJQVVyRTtRQUFBLFlBQ0UsaUJBQU8sU0FRUjs7Ozs7UUFiZ0IsMkJBQXFCLEdBQUcsSUFBSSxtQkFBbUIsRUFBc0IsQ0FBQztRQU0vRSxJQUFBLDJCQUFrRixFQUFoRixnQkFBSyxFQUFFLG9CQUFPLEVBQUUsa0JBQU0sRUFBRSxjQUFJLEVBQUUsZ0JBQUssRUFBRSxvQkFBTyxFQUFFLHNCQUFrQztRQUN4RixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxnQkFBZ0I7Ozs7UUFBQyxVQUFDLFVBQVU7WUFDekQsSUFBSSxLQUFJLENBQUMsMEJBQTBCLEVBQUU7Z0JBQ25DLEtBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUM1RCxLQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7O0lBQ0wsQ0FBQzs7Ozs7O0lBRVMsZ0RBQWU7Ozs7O0lBQXpCLFVBQTBCLFlBQTJDO1FBQ25FLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHNCQUFJLGdEQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDO1FBQzdDLENBQUM7OztPQUFBO0lBRUQ7OztPQUdHOzs7Ozs7SUFDRyxtREFBa0I7Ozs7O0lBQXhCOzs7Z0JBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDcEIsc0JBQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFDO2lCQUNsRDtxQkFBTTtvQkFDTCxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTt3QkFDbkMsMERBQTBEO3dCQUMxRCxzQkFBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFDO3FCQUNoRDt5QkFBTTt3QkFDTCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs0QkFDaEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzs0QkFDbkQsc0JBQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBQzt5QkFDaEQ7NkJBQU07NEJBQ0wsc0JBQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFDO3lCQUN4QztxQkFDRjtpQkFDRjs7OztLQUNGOzs7Ozs7O0lBR0QsOENBQWE7Ozs7OztJQUFiLFVBQXVCLFlBQThDLEVBQUUsSUFBUTtRQUM3RSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7Ozs7O0lBRUQsd0NBQU87Ozs7SUFBUCxVQUFRLE9BQWdCO1FBQ3RCLDBFQUEwRTtRQUMxRSx5RUFBeUU7UUFDekUsMENBQTBDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJOzs7UUFBQyxjQUFNLE9BQUEsSUFBSSxFQUFKLENBQUksRUFBQyxDQUFDLEtBQUs7OztRQUFDLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDLENBQUM7SUFDM0UsQ0FBQzs7Ozs7SUFFRCxzQ0FBSzs7OztJQUFMLFVBQU0sS0FBWTtRQUNoQixvQ0FBb0M7UUFDcEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELGdEQUFlOzs7O0lBQWYsVUFBZ0IsT0FBZ0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDOzs7Ozs7OztJQUVELDRDQUFXOzs7Ozs7O0lBQVgsVUFBcUIsT0FBZ0IsRUFBRSxZQUE4QyxFQUFFLElBQVE7UUFDN0YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFpRCwwQkFBMEIsRUFBRTtZQUNyRyxPQUFPLFNBQUE7WUFDUCxZQUFZLEVBQUUsWUFBWTtZQUMxQixJQUFJLEVBQUUsSUFBSTtTQUNYLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUgsNkJBQUM7QUFBRCxDQUFDLEFBaEZELENBQXFELGtCQUFrQixHQWdGdEU7Ozs7Ozs7Ozs7OztJQTFFQyx1REFBdUY7Ozs7O0lBRXZGLDREQUFzRTs7Ozs7Ozs7OztJQTBDdEUsa0dBQXdJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVmZXJyZWQsXG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsIERpc3Bvc2FibGUsXG4gIERzbCxcbiAgRXZlbnRMaXN0ZW5lckxpc3QsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIExpc3RNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuL2FsZXJ0JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbGlzdCBvZiBhY3Rpdml0aWVzIHRoYXQgYXJlIGluIHByb2dyZXNzLlxuICAgKiBUaGlzIG1vZGVsIGlzIG9ubHkgdXBkYXRlZCBpbiB0aGUgbmV4dCB0aWNrIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3REZWxlZ2F0ZSA9IG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4oKTtcblxuICBwcml2YXRlIGRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5OiBEZWZlcnJlZDxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB3aGVuLmxpc3RPZih0aGlzLmFjdGl2aXR5TGlzdCkuYmVjb21lc1BvcHVsYXRlZCgoYWN0aXZpdGllcykgPT4ge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5yZXNvbHZlKF8ubGFzdChhY3Rpdml0aWVzKSk7XG4gICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEFjdGl2aXR5TGlzdChhY3Rpdml0eUxpc3Q6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KSB7XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0RGVsZWdhdGUuc2V0RGVsZWdhdGUoYWN0aXZpdHlMaXN0KTtcbiAgfVxuXG4gIGdldCBhY3Rpdml0eUxpc3QoKTogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5TGlzdERlbGVnYXRlLnJlYWRvbmx5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnbm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgLy8gd2UncmUgYWxyZWFkeSB3YWl0aW5nIHRoZW4ganVzdCByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZVxuICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZpdHlMaXN0Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gRGVmZXJyZWQuZGVmZXIoKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBfLmxhc3QodGhpcy5hY3Rpdml0eUxpc3QudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCwgZGlzYWJsZUNsb3NlPzpib29sZWFuKTogUHJvbWlzZTxSPjtcblxuICBzdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIEltcG9ydGFudDogd2UgaGF2ZSB0byBpbXBsZW1lbnQgY29uZmlybU9yUmVqZWN0IGFzIHRoZSBtYWluIGVudHJ5IHBvaW50XG4gICAgLy8gYXMgdGhlIGNhbkRlYWN0aXZhdGlvbiBndWFyZHMgbmVlZCB0byBiZSBhYmxlIHRvIGNhbmNlbCBhbiBpbnRlcmFjdGlvblxuICAgIC8vIHdpdGhvdXQgY2FyaW5nIGFib3V0IHJldHVybmluZyBhIHZhbHVlLlxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1PclJlamVjdChjb25maXJtKS50aGVuKCgpID0+IHRydWUpLmNhdGNoKCgpID0+IGZhbHNlKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRPRE86IFRlc3QgZGlzYWJsZUNsb3NlID09PSBmYWxzZVxuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCwgZmFsc2UpO1xuICB9XG5cbiAgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbiAgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG5cbn1cblxuIl19
|