@coolon/angular-ui-powerups 0.0.62 → 0.0.65
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 +738 -582
- 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 +10 -10
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +10 -10
- package/esm2015/index.js +2 -2
- package/esm2015/lib/interaction/abstract-activity.js +5 -68
- package/esm2015/lib/interaction/activity.js +71 -11
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +213 -120
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js +6 -7
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +19 -43
- package/esm2015/lib/interaction/index.js +2 -2
- package/esm2015/lib/interaction/interaction-context.js +15 -10
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +99 -86
- package/esm2015/lib/place/guards/leave-place.guard.js +95 -115
- package/esm2015/lib/place/place-router.js +87 -6
- package/esm2015/public_api.js +2 -2
- package/esm5/coolon-angular-ui-powerups.js +10 -10
- package/esm5/index.js +2 -2
- package/esm5/lib/interaction/abstract-activity.js +10 -96
- package/esm5/lib/interaction/activity.js +110 -11
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +285 -143
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js +6 -7
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +19 -67
- package/esm5/lib/interaction/index.js +2 -2
- package/esm5/lib/interaction/interaction-context.js +24 -21
- package/esm5/lib/interaction/services/dialog-interaction.service.js +120 -85
- package/esm5/lib/place/guards/leave-place.guard.js +53 -123
- package/esm5/lib/place/place-router.js +96 -6
- package/esm5/public_api.js +2 -2
- package/fesm2015/coolon-angular-ui-powerups.js +591 -449
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +711 -556
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/interaction/abstract-activity.d.ts +4 -13
- package/lib/interaction/activity.d.ts +13 -6
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +37 -25
- package/lib/interaction/components/activity-outlet/activity-outlet-context.d.ts +2 -5
- package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +1 -10
- package/lib/interaction/interaction-context.d.ts +7 -7
- package/lib/interaction/services/dialog-interaction.service.d.ts +5 -6
- package/lib/place/guards/leave-place.guard.d.ts +6 -7
- package/lib/place/place-router.d.ts +14 -1
- package/package.json +1 -1
|
@@ -3,30 +3,90 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { InjectionToken } from '@angular/core';
|
|
6
|
+
import { DelegatingValueModel } from '@coolon/pectin';
|
|
7
|
+
import { assert } from '@coolon/typescript-utilities';
|
|
6
8
|
/** @type {?} */
|
|
7
9
|
export const ACTIVITY_DATA = new InjectionToken('InteractionActivityData');
|
|
8
10
|
/**
|
|
9
|
-
* @
|
|
11
|
+
* @abstract
|
|
10
12
|
* @template D, R, E
|
|
11
13
|
*/
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
export class Activity {
|
|
15
|
+
constructor() {
|
|
16
|
+
this._busyModel = new DelegatingValueModel().withDefault(false);
|
|
17
|
+
}
|
|
16
18
|
/**
|
|
17
19
|
* @param {?} activityContext
|
|
18
20
|
* @return {?}
|
|
19
21
|
*/
|
|
20
|
-
|
|
22
|
+
initialise(activityContext) {
|
|
23
|
+
assert.isNil(this._activityContext);
|
|
24
|
+
this._activityContext = activityContext;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @param {?=} result
|
|
28
|
+
* @return {?}
|
|
29
|
+
*/
|
|
30
|
+
done(result) {
|
|
31
|
+
return this._activityContext.onDone(result);
|
|
32
|
+
}
|
|
21
33
|
/**
|
|
22
|
-
* @param {
|
|
34
|
+
* @param {?=} error
|
|
23
35
|
* @return {?}
|
|
24
36
|
*/
|
|
25
|
-
|
|
37
|
+
cancel(error) {
|
|
38
|
+
this._activityContext.onCancel(error);
|
|
39
|
+
}
|
|
40
|
+
// @Trace()
|
|
26
41
|
/**
|
|
27
|
-
* @param {?} e
|
|
28
42
|
* @return {?}
|
|
29
43
|
*/
|
|
30
|
-
|
|
44
|
+
onActivityReady() {
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @return {?}
|
|
48
|
+
*/
|
|
49
|
+
get busy() {
|
|
50
|
+
return this._busyModel.readonly;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @param {?} busyModel
|
|
54
|
+
* @return {?}
|
|
55
|
+
*/
|
|
56
|
+
busyWhile(busyModel) {
|
|
57
|
+
this._busyModel.setDelegate(busyModel);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @return {?}
|
|
61
|
+
*/
|
|
62
|
+
isBusy() {
|
|
63
|
+
return this._busyModel.value;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (false) {
|
|
67
|
+
/**
|
|
68
|
+
* @type {?}
|
|
69
|
+
* @private
|
|
70
|
+
*/
|
|
71
|
+
Activity.prototype._busyModel;
|
|
72
|
+
/**
|
|
73
|
+
* @type {?}
|
|
74
|
+
* @private
|
|
75
|
+
*/
|
|
76
|
+
Activity.prototype._activityContext;
|
|
31
77
|
}
|
|
32
|
-
|
|
78
|
+
(function (Activity) {
|
|
79
|
+
/**
|
|
80
|
+
* @record
|
|
81
|
+
* @template R, E
|
|
82
|
+
*/
|
|
83
|
+
function Callbacks() { }
|
|
84
|
+
Activity.Callbacks = Callbacks;
|
|
85
|
+
if (false) {
|
|
86
|
+
/** @type {?} */
|
|
87
|
+
Callbacks.prototype.onDone;
|
|
88
|
+
/** @type {?} */
|
|
89
|
+
Callbacks.prototype.onCancel;
|
|
90
|
+
}
|
|
91
|
+
})(Activity || (Activity = {}));
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUV0RCxNQUFNLE9BQU8sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFNLHlCQUF5QixDQUFDOzs7OztBQUUvRSxNQUFNLE9BQWdCLFFBQVE7SUFBOUI7UUFFbUIsZUFBVSxHQUFHLElBQUksb0JBQW9CLEVBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFpQ3ZGLENBQUM7Ozs7O0lBOUJDLFVBQVUsQ0FBQyxlQUF5QztRQUNsRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFDMUMsQ0FBQzs7Ozs7SUFFRCxJQUFJLENBQUMsTUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVELE1BQU0sQ0FBQyxLQUFTO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7OztJQUdELGVBQWU7SUFDZixDQUFDOzs7O0lBR0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDOzs7OztJQUVELFNBQVMsQ0FBQyxTQUE4QjtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs7O0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztDQUVGOzs7Ozs7SUFqQ0MsOEJBQXFGOzs7OztJQUNyRixvQ0FBbUQ7O0FBa0NyRCxXQUFpQixRQUFROzs7OztJQUV2Qix3QkFHQzs7OztRQUZDLDJCQUE0Qjs7UUFDNUIsNkJBQTZCOztBQUVqQyxDQUFDLEVBTmdCLFFBQVEsS0FBUixRQUFRLFFBTXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlbGVnYXRpbmdWYWx1ZU1vZGVsLCBWYWx1ZU1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5cbmV4cG9ydCBjb25zdCBBQ1RJVklUWV9EQVRBID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0ludGVyYWN0aW9uQWN0aXZpdHlEYXRhJyk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBY3Rpdml0eTxELCBSLCBFID0gYW55PiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYnVzeU1vZGVsID0gbmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQoZmFsc2UpO1xuICBwcml2YXRlIF9hY3Rpdml0eUNvbnRleHQ6IEFjdGl2aXR5LkNhbGxiYWNrczxSLCBFPjtcblxuICBpbml0aWFsaXNlKGFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHkuQ2FsbGJhY2tzPFIsIEU+KTogdm9pZCB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2FjdGl2aXR5Q29udGV4dCk7XG4gICAgdGhpcy5fYWN0aXZpdHlDb250ZXh0ID0gYWN0aXZpdHlDb250ZXh0O1xuICB9XG5cbiAgZG9uZShyZXN1bHQ/OiBSKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5Q29udGV4dC5vbkRvbmUocmVzdWx0KTtcbiAgfVxuXG4gIGNhbmNlbChlcnJvcj86IEUpOiB2b2lkIHtcbiAgICB0aGlzLl9hY3Rpdml0eUNvbnRleHQub25DYW5jZWwoZXJyb3IpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25BY3Rpdml0eVJlYWR5KCkge1xuICB9XG5cblxuICBnZXQgYnVzeSgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fYnVzeU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgYnVzeVdoaWxlKGJ1c3lNb2RlbDogVmFsdWVNb2RlbDxib29sZWFuPikge1xuICAgIHRoaXMuX2J1c3lNb2RlbC5zZXREZWxlZ2F0ZShidXN5TW9kZWwpO1xuICB9XG5cbiAgaXNCdXN5KCkge1xuICAgIHJldHVybiB0aGlzLl9idXN5TW9kZWwudmFsdWU7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFjdGl2aXR5IHtcblxuICBleHBvcnQgaW50ZXJmYWNlIENhbGxiYWNrczxSLCBFPiB7XG4gICAgb25Eb25lOiAocmVzdWx0OiBSKSA9PiB2b2lkLFxuICAgIG9uQ2FuY2VsOiAoZXJyb3I6IEUpID0+IHZvaWQsXG4gIH1cbn1cbiJdfQ==
|
package/esm2015/lib/interaction/components/activity-container/activity-container.component.js
CHANGED
|
@@ -4,108 +4,181 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Component, Input, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
|
6
6
|
import { MatTabGroup } from '@angular/material';
|
|
7
|
-
import { Dsl, MutableListModel } from '@coolon/pectin';
|
|
8
|
-
import { DisposableComponent } from '../../../components/disposable-component';
|
|
7
|
+
import { assert, Dsl, MutableListModel, MutableStream } from '@coolon/pectin';
|
|
9
8
|
import { InteractionContext } from '../../interaction-context';
|
|
10
9
|
import { ActivityOutletComponent } from '../activity-outlet/activity-outlet.component';
|
|
11
10
|
import { AlertDialogComponent } from '../alert-dialog/alert-dialog.component';
|
|
12
11
|
import { ConfirmThenDialogComponent } from '../confirm-then-dialog/confirm-then-dialog.component';
|
|
13
12
|
import { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Note: this class is mutable and is stored in a list model. This is normally a big no no but
|
|
15
|
+
* we're manually deriving other models from the list after view state changes. I.e. we not
|
|
16
|
+
* using pectin chains on any of the mutable fields.
|
|
17
|
+
* @template D, R, E
|
|
18
|
+
*/
|
|
19
|
+
class TabContext {
|
|
20
|
+
/**
|
|
21
|
+
* @param {?} activityData
|
|
22
|
+
* @param {?} activityClass
|
|
23
|
+
* @param {?} interactionContext
|
|
24
|
+
* @param {?} activityCallbacks
|
|
25
|
+
*/
|
|
26
|
+
constructor(activityData, activityClass, interactionContext, activityCallbacks) {
|
|
27
|
+
this.activityData = activityData;
|
|
28
|
+
this.activityClass = activityClass;
|
|
29
|
+
this.interactionContext = interactionContext;
|
|
30
|
+
this.activityCallbacks = activityCallbacks;
|
|
31
|
+
this._complete = false;
|
|
21
32
|
}
|
|
22
33
|
/**
|
|
23
34
|
* @return {?}
|
|
24
35
|
*/
|
|
25
|
-
|
|
26
|
-
return this.
|
|
36
|
+
isComponentRealised() {
|
|
37
|
+
return !!this._component;
|
|
27
38
|
}
|
|
28
39
|
/**
|
|
29
40
|
* @return {?}
|
|
30
41
|
*/
|
|
31
|
-
|
|
32
|
-
return this.
|
|
42
|
+
isComplete() {
|
|
43
|
+
return this._complete;
|
|
33
44
|
}
|
|
34
45
|
/**
|
|
46
|
+
* @param {?} component
|
|
35
47
|
* @return {?}
|
|
36
48
|
*/
|
|
37
|
-
|
|
49
|
+
componentReady(component) {
|
|
50
|
+
assert.isNil(this._component);
|
|
51
|
+
this._component = component;
|
|
38
52
|
}
|
|
39
53
|
/**
|
|
40
54
|
* @return {?}
|
|
41
55
|
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
this._activityList.value = this.outlets.toArray().map((/**
|
|
45
|
-
* @param {?} c
|
|
46
|
-
* @return {?}
|
|
47
|
-
*/
|
|
48
|
-
c => c.component));
|
|
49
|
-
observe.valuesFrom(this.outlets.changes).subscribe((/**
|
|
50
|
-
* @param {?} change
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
(change) => {
|
|
54
|
-
this.safelyUpdateActivityList(change.map((/**
|
|
55
|
-
* @param {?} c
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
c => c.component)));
|
|
59
|
-
}));
|
|
60
|
-
observe.valuesFrom(this.tabs.animationDone).subscribe((/**
|
|
61
|
-
* @return {?}
|
|
62
|
-
*/
|
|
63
|
-
() => this.onAnimationFinished()));
|
|
56
|
+
get component() {
|
|
57
|
+
return this._component;
|
|
64
58
|
}
|
|
59
|
+
// @Trace()
|
|
65
60
|
/**
|
|
66
|
-
*
|
|
67
|
-
* @private
|
|
68
|
-
* @param {?} activities
|
|
61
|
+
* @param {?} result
|
|
69
62
|
* @return {?}
|
|
70
63
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
64
|
+
onDone(result) {
|
|
65
|
+
this._complete = true;
|
|
66
|
+
this.activityCallbacks.onDone(result);
|
|
67
|
+
}
|
|
68
|
+
// @Trace()
|
|
69
|
+
/**
|
|
70
|
+
* @param {?} error
|
|
71
|
+
* @return {?}
|
|
72
|
+
*/
|
|
73
|
+
onCancel(error) {
|
|
74
|
+
this._complete = true;
|
|
75
|
+
this.activityCallbacks.onCancel(error);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (false) {
|
|
79
|
+
/**
|
|
80
|
+
* @type {?}
|
|
81
|
+
* @private
|
|
82
|
+
*/
|
|
83
|
+
TabContext.prototype._complete;
|
|
84
|
+
/**
|
|
85
|
+
* @type {?}
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
TabContext.prototype._component;
|
|
89
|
+
/** @type {?} */
|
|
90
|
+
TabContext.prototype.activityData;
|
|
91
|
+
/** @type {?} */
|
|
92
|
+
TabContext.prototype.activityClass;
|
|
93
|
+
/** @type {?} */
|
|
94
|
+
TabContext.prototype.interactionContext;
|
|
95
|
+
/** @type {?} */
|
|
96
|
+
TabContext.prototype.activityCallbacks;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @template D, R, E
|
|
100
|
+
*/
|
|
101
|
+
export class ActivityContainerComponent extends InteractionContext {
|
|
102
|
+
constructor() {
|
|
103
|
+
super();
|
|
104
|
+
this.activityFinishedEvents = new MutableStream();
|
|
105
|
+
this.activityTabs = new MutableListModel();
|
|
106
|
+
this.finished = false;
|
|
107
|
+
this._activityList = new MutableListModel();
|
|
108
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
109
|
+
chain(this.activityFinishedEvents).throttle(50).subscribe((/**
|
|
73
110
|
* @return {?}
|
|
74
111
|
*/
|
|
75
|
-
() => this.
|
|
112
|
+
() => this.onActivityFinished()));
|
|
76
113
|
}
|
|
77
114
|
/**
|
|
78
|
-
* @template D, R, E
|
|
79
115
|
* @param {?} initialContext
|
|
80
116
|
* @return {?}
|
|
81
117
|
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
this.initialActivityOutletContext = {
|
|
86
|
-
activityClass: initialContext.activityClass,
|
|
87
|
-
activityData: initialContext.activityData,
|
|
118
|
+
set initialActivityOutletContext(initialContext) {
|
|
119
|
+
assert.isNil(this.initialActivityOutletContext);
|
|
120
|
+
this.activityTabs.push(new TabContext(initialContext.activityData, initialContext.activityClass, this, {
|
|
88
121
|
onDone: (/**
|
|
89
122
|
* @param {?} result
|
|
90
123
|
* @return {?}
|
|
91
124
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
125
|
+
(result) => {
|
|
126
|
+
this.finished = true;
|
|
94
127
|
return initialContext.onDone(result);
|
|
95
128
|
}),
|
|
96
129
|
onCancel: (/**
|
|
97
130
|
* @param {?} error
|
|
98
131
|
* @return {?}
|
|
99
132
|
*/
|
|
100
|
-
|
|
101
|
-
|
|
133
|
+
(error) => {
|
|
134
|
+
this.finished = true;
|
|
102
135
|
return initialContext.onCancel(error);
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
|
|
136
|
+
})
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* @return {?}
|
|
141
|
+
*/
|
|
142
|
+
get initialActivityOutletContext() {
|
|
143
|
+
return this.activityTabs.length > 0 ? this.activityTabs.value[0] : null;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* @return {?}
|
|
147
|
+
*/
|
|
148
|
+
isActive() {
|
|
149
|
+
return this.parentInteractionContext.isActive();
|
|
106
150
|
}
|
|
107
151
|
/**
|
|
108
|
-
* @
|
|
152
|
+
* @return {?}
|
|
153
|
+
*/
|
|
154
|
+
get activityList() {
|
|
155
|
+
return this._activityList.readonly;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* @return {?}
|
|
159
|
+
*/
|
|
160
|
+
ngOnInit() {
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* @return {?}
|
|
164
|
+
*/
|
|
165
|
+
ngAfterViewInit() {
|
|
166
|
+
const { chain, observe } = Dsl.disposeWith(this);
|
|
167
|
+
observe.valuesFrom(this.outlets.changes).subscribe((/**
|
|
168
|
+
* @return {?}
|
|
169
|
+
*/
|
|
170
|
+
() => setTimeout((/**
|
|
171
|
+
* @return {?}
|
|
172
|
+
*/
|
|
173
|
+
() => this.updateActivityList()))));
|
|
174
|
+
observe.valuesFrom(this.tabs.animationDone).subscribe((/**
|
|
175
|
+
* @return {?}
|
|
176
|
+
*/
|
|
177
|
+
() => this.onAnimationFinished()));
|
|
178
|
+
this.updateActivityList();
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* @template D1, R1, E1
|
|
109
182
|
* @param {?} activityType
|
|
110
183
|
* @param {?=} data
|
|
111
184
|
* @return {?}
|
|
@@ -120,41 +193,26 @@ export class ActivityContainerComponent extends DisposableComponent {
|
|
|
120
193
|
*/
|
|
121
194
|
(resolve, reject) => {
|
|
122
195
|
/** @type {?} */
|
|
123
|
-
const context = {
|
|
124
|
-
interactionContext: self,
|
|
125
|
-
activityClass: activityType,
|
|
126
|
-
activityData: data,
|
|
196
|
+
const context = new TabContext(data, activityType, self, {
|
|
127
197
|
onDone: (/**
|
|
128
198
|
* @param {?} result
|
|
129
199
|
* @return {?}
|
|
130
200
|
*/
|
|
131
201
|
function (result) {
|
|
132
|
-
self.obsoleteTabs.push(context);
|
|
133
|
-
// animating on the next tick gives chained done's a chance to
|
|
134
|
-
// finished before we start an animations
|
|
135
202
|
resolve(result);
|
|
136
|
-
|
|
137
|
-
* @return {?}
|
|
138
|
-
*/
|
|
139
|
-
() => self.animateTabs()));
|
|
203
|
+
self.activityFinishedEvents.publish({});
|
|
140
204
|
}),
|
|
141
205
|
onCancel: (/**
|
|
142
206
|
* @param {?} error
|
|
143
207
|
* @return {?}
|
|
144
208
|
*/
|
|
145
209
|
function (error) {
|
|
146
|
-
self.obsoleteTabs.push(context);
|
|
147
|
-
// finished before we start an animations
|
|
148
210
|
reject(error);
|
|
149
|
-
|
|
150
|
-
setTimeout((/**
|
|
151
|
-
* @return {?}
|
|
152
|
-
*/
|
|
153
|
-
() => self.animateTabs()));
|
|
211
|
+
self.activityFinishedEvents.publish({});
|
|
154
212
|
})
|
|
155
|
-
};
|
|
156
|
-
self.
|
|
157
|
-
self.tabs.selectedIndex = this.
|
|
213
|
+
});
|
|
214
|
+
self.activityTabs.push(context);
|
|
215
|
+
self.tabs.selectedIndex = this.activityTabs.length;
|
|
158
216
|
}));
|
|
159
217
|
}
|
|
160
218
|
/**
|
|
@@ -172,7 +230,7 @@ export class ActivityContainerComponent extends DisposableComponent {
|
|
|
172
230
|
return this.startActivity(ConfirmationDialogComponent, confirm);
|
|
173
231
|
}
|
|
174
232
|
/**
|
|
175
|
-
* @template
|
|
233
|
+
* @template D1, R1, E1
|
|
176
234
|
* @param {?} confirm
|
|
177
235
|
* @param {?} activityType
|
|
178
236
|
* @param {?=} data
|
|
@@ -185,35 +243,92 @@ export class ActivityContainerComponent extends DisposableComponent {
|
|
|
185
243
|
data: data
|
|
186
244
|
});
|
|
187
245
|
}
|
|
246
|
+
// @Trace()
|
|
247
|
+
/**
|
|
248
|
+
* @private
|
|
249
|
+
* @return {?}
|
|
250
|
+
*/
|
|
251
|
+
onActivityFinished() {
|
|
252
|
+
// don't do anything if job already queued up.
|
|
253
|
+
if (!this.finished) {
|
|
254
|
+
if (this.synchroniseSelectedTabIndex()) {
|
|
255
|
+
this.cleanupStaleActivities();
|
|
256
|
+
}
|
|
257
|
+
this.updateActivityList();
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
// @Trace()
|
|
261
|
+
/**
|
|
262
|
+
* @private
|
|
263
|
+
* @return {?}
|
|
264
|
+
*/
|
|
265
|
+
cleanupStaleActivities() {
|
|
266
|
+
// clean up old tabs
|
|
267
|
+
if (this.tabs.selectedIndex < this.activityTabs.length - 1) {
|
|
268
|
+
this.activityTabs.runInTransaction((/**
|
|
269
|
+
* @param {?} draft
|
|
270
|
+
* @return {?}
|
|
271
|
+
*/
|
|
272
|
+
draft => {
|
|
273
|
+
draft.value = draft.value.slice(0, 1 + this.tabs.selectedIndex);
|
|
274
|
+
}));
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Synchronises the selected tab index. Returns true if there was no change to the selected index.
|
|
279
|
+
* @private
|
|
280
|
+
* @return {?}
|
|
281
|
+
*/
|
|
282
|
+
// @Trace()
|
|
283
|
+
synchroniseSelectedTabIndex() {
|
|
284
|
+
/** @type {?} */
|
|
285
|
+
const previousIndex = this.tabs.selectedIndex;
|
|
286
|
+
/** @type {?} */
|
|
287
|
+
const newIndex = this.activityTabs.query().findIndex((/**
|
|
288
|
+
* @param {?} t
|
|
289
|
+
* @return {?}
|
|
290
|
+
*/
|
|
291
|
+
t => t.isComplete())) - 1;
|
|
292
|
+
this.tabs.selectedIndex = newIndex;
|
|
293
|
+
return previousIndex === newIndex;
|
|
294
|
+
}
|
|
295
|
+
// @Trace()
|
|
188
296
|
/**
|
|
189
297
|
* @private
|
|
190
298
|
* @return {?}
|
|
191
299
|
*/
|
|
192
300
|
onAnimationFinished() {
|
|
193
|
-
this.
|
|
194
|
-
|
|
301
|
+
this.getSelectedOutlet().component.onActivityReady();
|
|
302
|
+
this.cleanupStaleActivities();
|
|
303
|
+
this.updateActivityList();
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* @private
|
|
307
|
+
* @return {?}
|
|
308
|
+
*/
|
|
309
|
+
updateActivityList() {
|
|
310
|
+
this._activityList.value = this.activityTabs.value.filter((/**
|
|
311
|
+
* @param {?} t
|
|
195
312
|
* @return {?}
|
|
196
313
|
*/
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
314
|
+
t => !t.isComplete() && t.isComponentRealised())).map((/**
|
|
315
|
+
* @param {?} t
|
|
316
|
+
* @return {?}
|
|
317
|
+
*/
|
|
318
|
+
t => t.component));
|
|
202
319
|
}
|
|
203
320
|
/**
|
|
204
321
|
* @private
|
|
205
322
|
* @return {?}
|
|
206
323
|
*/
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
this.tabs.selectedIndex = this.activityOutletTabs.length - this.obsoleteTabs.length;
|
|
210
|
-
}
|
|
324
|
+
getSelectedOutlet() {
|
|
325
|
+
return this.outlets.toArray()[this.tabs.selectedIndex];
|
|
211
326
|
}
|
|
212
327
|
}
|
|
213
328
|
ActivityContainerComponent.decorators = [
|
|
214
329
|
{ type: Component, args: [{
|
|
215
330
|
selector: 'angular-ui-powerups-activity-container',
|
|
216
|
-
template: "<mat-tab-group #tabs no-tab-header [dynamicHeight]=\"true\">\n <mat-tab
|
|
331
|
+
template: "<mat-tab-group #tabs no-tab-header [dynamicHeight]=\"true\">\n <mat-tab *ngFor=\"let tab of activityTabs.value\">\n <angular-ui-powerups-activity-outlet [interactionContext]=\"this\"\n [activityContext]=\"tab\"></angular-ui-powerups-activity-outlet>\n </mat-tab>\n</mat-tab-group>\n",
|
|
217
332
|
styles: [":host{display:block}"]
|
|
218
333
|
}] }
|
|
219
334
|
];
|
|
@@ -226,23 +341,19 @@ ActivityContainerComponent.propDecorators = {
|
|
|
226
341
|
outlets: [{ type: ViewChildren, args: [ActivityOutletComponent,] }]
|
|
227
342
|
};
|
|
228
343
|
if (false) {
|
|
344
|
+
/**
|
|
345
|
+
* @type {?}
|
|
346
|
+
* @private
|
|
347
|
+
*/
|
|
348
|
+
ActivityContainerComponent.prototype.activityFinishedEvents;
|
|
229
349
|
/** @type {?} */
|
|
230
350
|
ActivityContainerComponent.prototype.parentInteractionContext;
|
|
231
351
|
/** @type {?} */
|
|
232
|
-
ActivityContainerComponent.prototype.initialActivityOutletContext;
|
|
233
|
-
/** @type {?} */
|
|
234
|
-
ActivityContainerComponent.prototype.currentActivity;
|
|
235
|
-
/** @type {?} */
|
|
236
352
|
ActivityContainerComponent.prototype.tabs;
|
|
237
353
|
/** @type {?} */
|
|
238
354
|
ActivityContainerComponent.prototype.outlets;
|
|
239
355
|
/** @type {?} */
|
|
240
|
-
ActivityContainerComponent.prototype.
|
|
241
|
-
/**
|
|
242
|
-
* @type {?}
|
|
243
|
-
* @private
|
|
244
|
-
*/
|
|
245
|
-
ActivityContainerComponent.prototype.obsoleteTabs;
|
|
356
|
+
ActivityContainerComponent.prototype.activityTabs;
|
|
246
357
|
/**
|
|
247
358
|
* @type {?}
|
|
248
359
|
* @private
|
|
@@ -254,22 +365,4 @@ if (false) {
|
|
|
254
365
|
*/
|
|
255
366
|
ActivityContainerComponent.prototype._activityList;
|
|
256
367
|
}
|
|
257
|
-
(function (ActivityContainerComponent) {
|
|
258
|
-
/**
|
|
259
|
-
* @record
|
|
260
|
-
* @template D, R, E
|
|
261
|
-
*/
|
|
262
|
-
function ActivityContext() { }
|
|
263
|
-
ActivityContainerComponent.ActivityContext = ActivityContext;
|
|
264
|
-
if (false) {
|
|
265
|
-
/** @type {?} */
|
|
266
|
-
ActivityContext.prototype.activityClass;
|
|
267
|
-
/** @type {?} */
|
|
268
|
-
ActivityContext.prototype.activityData;
|
|
269
|
-
/** @type {?} */
|
|
270
|
-
ActivityContext.prototype.onDone;
|
|
271
|
-
/** @type {?} */
|
|
272
|
-
ActivityContext.prototype.onCancel;
|
|
273
|
-
}
|
|
274
|
-
})(ActivityContainerComponent || (ActivityContainerComponent = {}));
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFFTCxHQUFHLEVBRUgsZ0JBQWdCLEVBSWpCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFLL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFPbkcsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQXNCakU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVBELHVCQUFrQixHQUFHLElBQUksZ0JBQWdCLEVBQXdDLENBQUM7UUFDbkYsaUJBQVksR0FBMkMsRUFBRSxDQUFDO1FBQzFELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFUixrQkFBYSxHQUFHLElBQUksZ0JBQWdCLEVBQXNCLENBQUM7SUFJNUUsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixPQUFP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YSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEUsQ0FBQzs7Ozs7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7U0FDckY7SUFDSCxDQUFDOzs7WUFwSUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3Q0FBd0M7Z0JBQ2xELGdrQkFBa0Q7O2FBRW5EOzs7Ozt1Q0FHRSxLQUFLOzJDQUdMLEtBQUs7bUJBS0wsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7c0JBR2xDLFlBQVksU0FBQyx1QkFBdUI7Ozs7SUFYckMsOERBQzZDOztJQUU3QyxrRUFDbUU7O0lBRW5FLHFEQUF5RDs7SUFFekQsMENBQ2tCOztJQUVsQiw2Q0FDMkQ7O0lBRTNELHdEQUEyRjs7Ozs7SUFDM0Ysa0RBQWtFOzs7OztJQUNsRSw4Q0FBeUI7Ozs7O0lBRXpCLG1EQUE0RTs7QUE4RzlFLFdBQWlCLDBCQUEwQjs7Ozs7SUFFekMsOEJBS0M7Ozs7UUFKQyx3Q0FBZ0Q7O1FBQ2hELHVDQUFnQjs7UUFDaEIsaUNBQTRCOztRQUM1QixtQ0FBNkI7O0FBRWpDLENBQUMsRUFSZ0IsMEJBQTBCLEtBQTFCLDBCQUEwQixRQVExQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0VGFiR3JvdXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3RhYmxlLFxuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgTXV0YWJsZUxpc3RNb2RlbCxcbiAgVHJhbnNhY3Rpb25PYnNlcnZlcixcbiAgVXNlRGVsZWdhdGUsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vLi4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4uLy4uL2NvbmZpcm0nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbnRleHQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1hY3Rpdml0eS1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIEBJbnB1dCgpXG4gIHBhcmVudEludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0O1xuXG4gIEBJbnB1dCgpXG4gIGluaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQ6IEFjdGl2aXR5T3V0bGV0Q29udGV4dDxhbnksIGFueSwgYW55PjtcblxuICByZWFkb25seSBjdXJyZW50QWN0aXZpdHk6IFZhbHVlTW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PjtcblxuICBAVmlld0NoaWxkKCd0YWJzJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgdGFiczogTWF0VGFiR3JvdXA7XG5cbiAgQFZpZXdDaGlsZHJlbihBY3Rpdml0eU91dGxldENvbXBvbmVudClcbiAgb3V0bGV0czogUXVlcnlMaXN0PEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50PGFueSwgYW55LCBhbnk+PjtcblxuICByZWFkb25seSBhY3Rpdml0eU91dGxldFRhYnMgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxBY3Rpdml0eU91dGxldENvbnRleHQ8YW55LCBhbnksIGFueT4+KCk7XG4gIHByaXZhdGUgb2Jzb2xldGVUYWJzOiBBY3Rpdml0eU91dGxldENvbnRleHQ8YW55LCBhbnksIGFueT5bXSA9IFtdO1xuICBwcml2YXRlIGZpbmlzaGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0ID0gbmV3IE11dGFibGVMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRJbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKTtcbiAgfVxuXG4gIGdldCBhY3Rpdml0eUxpc3QoKTpMaXN0TW9kZWw8QWN0aXZpdHk8YW55LGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0LnZhbHVlID0gdGhpcy5vdXRsZXRzLnRvQXJyYXkoKS5tYXAoYyA9PiBjLmNvbXBvbmVudCk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMub3V0bGV0cy5jaGFuZ2VzKS5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgdGhpcy5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3QoY2hhbmdlLm1hcChjID0+IGMuY29tcG9uZW50KSk7XG4gICAgfSk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMudGFicy5hbmltYXRpb25Eb25lKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBpbiB0aGUgbmV4dCB0aWNrIHRvIGF2b2lkIGNoYW5naW5nIHN0YXRlIGluIHRoZSBjdXJyZW50IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gICAqIEBwYXJhbSBhY3Rpdml0aWVzXG4gICAqL1xuICBwcml2YXRlIHNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdChhY3Rpdml0aWVzOkFjdGl2aXR5PGFueSxhbnk+W10pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2FjdGl2aXR5TGlzdC52YWx1ZSA9IGFjdGl2aXRpZXMpO1xuICB9XG5cbiAgaW5pdGlhbGlzZTxELCBSLCBFPihpbml0aWFsQ29udGV4dDogQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQuQWN0aXZpdHlDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgdGhpcy5pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0ge1xuICAgICAgYWN0aXZpdHlDbGFzczogaW5pdGlhbENvbnRleHQuYWN0aXZpdHlDbGFzcyxcbiAgICAgIGFjdGl2aXR5RGF0YTogaW5pdGlhbENvbnRleHQuYWN0aXZpdHlEYXRhLFxuICAgICAgb25Eb25lOiBmdW5jdGlvbihyZXN1bHQ6IFIpIHtcbiAgICAgICAgc2VsZi5maW5pc2hlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBpbml0aWFsQ29udGV4dC5vbkRvbmUocmVzdWx0KTtcbiAgICAgIH0sXG4gICAgICBvbkNhbmNlbDogZnVuY3Rpb24oZXJyb3I6IEUpIHtcbiAgICAgICAgc2VsZi5maW5pc2hlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBpbml0aWFsQ29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gICAgICB9LFxuICAgICAgaW50ZXJhY3Rpb25Db250ZXh0OiB0aGlzXG4gICAgfTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Uj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgICAgaW50ZXJhY3Rpb25Db250ZXh0OiBzZWxmLFxuICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgIGFjdGl2aXR5RGF0YTogZGF0YSxcbiAgICAgICAgb25Eb25lOiBmdW5jdGlvbihyZXN1bHQ6IFIpIHtcbiAgICAgICAgICBzZWxmLm9ic29sZXRlVGFicy5wdXNoKGNvbnRleHQpO1xuICAgICAgICAgIC8vIGFuaW1hdGluZyBvbiB0aGUgbmV4dCB0aWNrIGdpdmVzIGNoYWluZWQgZG9uZSdzIGEgY2hhbmNlIHRvXG4gICAgICAgICAgLy8gZmluaXNoZWQgYmVmb3JlIHdlIHN0YXJ0IGFuIGFuaW1hdGlvbnNcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBzZWxmLmFuaW1hdGVUYWJzKCkpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24oZXJyb3I6IEUpIHtcbiAgICAgICAgICBzZWxmLm9ic29sZXRlVGFicy5wdXNoKGNvbnRleHQpO1xuICAgICAgICAgIC8vIGZpbmlzaGVkIGJlZm9yZSB3ZSBzdGFydCBhbiBhbmltYXRpb25zXG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAvLyBhbmltYXRpbmcgb24gdGhlIG5leHQgdGljayBnaXZlcyBjaGFpbmVkIGRvbmUncyBhIGNoYW5jZSB0byBjb21wbGV0ZSBiZWZvcmUgd2UgYW5pbWF0ZVxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2VsZi5hbmltYXRlVGFicygpKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNlbGYuYWN0aXZpdHlPdXRsZXRUYWJzLnB1c2goY29udGV4dCk7XG4gICAgICBzZWxmLnRhYnMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuYWN0aXZpdHlPdXRsZXRUYWJzLmxlbmd0aDtcbiAgICB9KTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0QWN0aXZpdHkoQWxlcnREaWFsb2dDb21wb25lbnQsIGFsZXJ0KTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0QWN0aXZpdHkoQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBjb25maXJtKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQsIFIsIEU+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0pO1xuICB9XG5cblxuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWQoKSB7XG4gICAgdGhpcy5hY3Rpdml0eU91dGxldFRhYnMudmFsdWUgPSB0aGlzLmFjdGl2aXR5T3V0bGV0VGFicy52YWx1ZS5maWx0ZXIodGFiID0+IHtcbiAgICAgIHJldHVybiAhdGhpcy5vYnNvbGV0ZVRhYnMuaW5jbHVkZXModGFiKTtcbiAgICB9KTtcbiAgICB0aGlzLm9ic29sZXRlVGFicyA9IFtdO1xuICAgIHRoaXMub3V0bGV0cy50b0FycmF5KClbdGhpcy50YWJzLnNlbGVjdGVkSW5kZXhdLm5vdGlmeVJlYWR5KCk7XG4gIH1cblxuICBwcml2YXRlIGFuaW1hdGVUYWJzKCkge1xuICAgIGlmICghdGhpcy5maW5pc2hlZCkge1xuICAgICAgdGhpcy50YWJzLnNlbGVjdGVkSW5kZXggPSB0aGlzLmFjdGl2aXR5T3V0bGV0VGFicy5sZW5ndGggLSB0aGlzLm9ic29sZXRlVGFicy5sZW5ndGg7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlDb250ZXh0PEQsIFIsIEU+IHtcbiAgICBhY3Rpdml0eUNsYXNzOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PixcbiAgICBhY3Rpdml0eURhdGE6IEQsXG4gICAgb25Eb25lOiAocmVzdWx0OiBSKSA9PiB2b2lkLFxuICAgIG9uQ2FuY2VsOiAoZXJyb3I6IEUpID0+IHZvaWQsXG4gIH1cbn1cbiJdfQ==
|
|
368
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQWlCLEdBQUcsRUFBYSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUt4RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztBQU9uRyxNQUFNLFVBQVU7Ozs7Ozs7SUFLZCxZQUFxQixZQUFlLEVBQ2YsYUFBK0MsRUFDL0Msa0JBQXNDLEVBQ3RDLGlCQUEyQztRQUgzQyxpQkFBWSxHQUFaLFlBQVksQ0FBRztRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQUMvQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFOeEQsY0FBUyxHQUFHLEtBQUssQ0FBQztJQU8xQixDQUFDOzs7O0lBRUQsbUJBQW1CO1FB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LElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQzs7O1lBbEpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0NBQXdDO2dCQUNsRCxtVkFBa0Q7O2FBRW5EOzs7Ozt1Q0FLRSxLQUFLOzJDQUdMLEtBQUs7bUJBbUJMLFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3NCQUdsQyxZQUFZLFNBQUMsdUJBQXVCOzs7Ozs7O0lBM0JyQyw0REFBbUU7O0lBRW5FLDhEQUM2Qzs7SUFxQjdDLDBDQUNrQjs7SUFFbEIsNkNBQzJEOztJQUUzRCxrREFBMEU7Ozs7O0lBQzFFLDhDQUF5Qjs7Ozs7SUFFekIsbURBQTRFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IGFzc2VydCwgQ29uc3RydWN0YWJsZSwgRHNsLCBMaXN0TW9kZWwsIE11dGFibGVMaXN0TW9kZWwsIE11dGFibGVTdHJlYW0gfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi8uLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vLi4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IEFjdGl2aXR5T3V0bGV0Q29udGV4dCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuXG4vKipcbiAqIE5vdGU6IHRoaXMgY2xhc3MgaXMgbXV0YWJsZSBhbmQgaXMgc3RvcmVkIGluIGEgbGlzdCBtb2RlbC4gIFRoaXMgaXMgbm9ybWFsbHkgYSBiaWcgbm8gbm8gYnV0XG4gKiAgd2UncmUgbWFudWFsbHkgZGVyaXZpbmcgb3RoZXIgbW9kZWxzIGZyb20gdGhlIGxpc3QgYWZ0ZXIgdmlldyBzdGF0ZSBjaGFuZ2VzLiAgSS5lLiB3ZSBub3RcbiAqICB1c2luZyBwZWN0aW4gY2hhaW5zIG9uIGFueSBvZiB0aGUgbXV0YWJsZSBmaWVsZHMuXG4gKi9cbmNsYXNzIFRhYkNvbnRleHQ8RCwgUiwgRT4gaW1wbGVtZW50cyBBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT4ge1xuXG4gIHByaXZhdGUgX2NvbXBsZXRlID0gZmFsc2U7XG4gIHByaXZhdGUgX2NvbXBvbmVudDogQWN0aXZpdHk8RCwgUiwgRT47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYWN0aXZpdHlEYXRhOiBELFxuICAgICAgICAgICAgICByZWFkb25seSBhY3Rpdml0eUNsYXNzOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PixcbiAgICAgICAgICAgICAgcmVhZG9ubHkgaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGFjdGl2aXR5Q2FsbGJhY2tzOiBBY3Rpdml0eS5DYWxsYmFja3M8UiwgRT4pIHtcbiAgfVxuXG4gIGlzQ29tcG9uZW50UmVhbGlzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fY29tcG9uZW50O1xuICB9XG5cbiAgaXNDb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcGxldGU7XG4gIH1cblxuICBjb21wb25lbnRSZWFkeShjb21wb25lbnQ6IEFjdGl2aXR5PEQsIFIsIEU+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2NvbXBvbmVudCk7XG4gICAgdGhpcy5fY29tcG9uZW50ID0gY29tcG9uZW50O1xuICB9XG5cbiAgZ2V0IGNvbXBvbmVudCgpOiBBY3Rpdml0eTxELCBSLCBFPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uRG9uZShyZXN1bHQ6IFIpOiB2b2lkIHtcbiAgICB0aGlzLl9jb21wbGV0ZSA9IHRydWU7XG4gICAgdGhpcy5hY3Rpdml0eUNhbGxiYWNrcy5vbkRvbmUocmVzdWx0KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uQ2FuY2VsKGVycm9yOiBFKTogdm9pZCB7XG4gICAgdGhpcy5fY29tcGxldGUgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZpdHlDYWxsYmFja3Mub25DYW5jZWwoZXJyb3IpO1xuICB9XG5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1hY3Rpdml0eS1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4gZXh0ZW5kcyBJbnRlcmFjdGlvbkNvbnRleHQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlGaW5pc2hlZEV2ZW50cyA9IG5ldyBNdXRhYmxlU3RyZWFtPGFueT4oKTtcblxuICBASW5wdXQoKVxuICBwYXJlbnRJbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBASW5wdXQoKVxuICBzZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dChpbml0aWFsQ29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCk7XG4gICAgdGhpcy5hY3Rpdml0eVRhYnMucHVzaChuZXcgVGFiQ29udGV4dChpbml0aWFsQ29udGV4dC5hY3Rpdml0eURhdGEsIGluaXRpYWxDb250ZXh0LmFjdGl2aXR5Q2xhc3MsIHRoaXMsIHtcbiAgICAgIG9uRG9uZTogKHJlc3VsdDogUikgPT4ge1xuICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGluaXRpYWxDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICAgICAgfSxcbiAgICAgIG9uQ2FuY2VsOiAoZXJyb3I6IEUpID0+IHtcbiAgICAgICAgdGhpcy5maW5pc2hlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBpbml0aWFsQ29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgZ2V0IGluaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQoKTogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVRhYnMubGVuZ3RoID4gMCA/IHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlWzBdIDogbnVsbDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RhYnMnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0YWJzOiBNYXRUYWJHcm91cDtcblxuICBAVmlld0NoaWxkcmVuKEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50KVxuICBvdXRsZXRzOiBRdWVyeUxpc3Q8QWN0aXZpdHlPdXRsZXRDb21wb25lbnQ8YW55LCBhbnksIGFueT4+O1xuXG4gIHJlYWRvbmx5IGFjdGl2aXR5VGFicyA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFRhYkNvbnRleHQ8YW55LCBhbnksIGFueT4+KCk7XG4gIHByaXZhdGUgZmluaXNoZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluKHRoaXMuYWN0aXZpdHlGaW5pc2hlZEV2ZW50cykudGhyb3R0bGUoNTApLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQWN0aXZpdHlGaW5pc2hlZCgpKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBhcmVudEludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpO1xuICB9XG5cbiAgZ2V0IGFjdGl2aXR5TGlzdCgpOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBjaGFpbiwgb2JzZXJ2ZSB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIG9ic2VydmUudmFsdWVzRnJvbSh0aGlzLm91dGxldHMuY2hhbmdlcykuc3Vic2NyaWJlKCgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKSkpO1xuICAgIG9ic2VydmUudmFsdWVzRnJvbSh0aGlzLnRhYnMuYW5pbWF0aW9uRG9uZSkuc3Vic2NyaWJlKCgpID0+IHRoaXMub25BbmltYXRpb25GaW5pc2hlZCgpKTtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2aXR5TGlzdCgpO1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFIxPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gbmV3IFRhYkNvbnRleHQoZGF0YSwgYWN0aXZpdHlUeXBlLCBzZWxmLCB7XG4gICAgICAgIG9uRG9uZTogZnVuY3Rpb24ocmVzdWx0OiBSMSkge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICBzZWxmLmFjdGl2aXR5RmluaXNoZWRFdmVudHMucHVibGlzaCh7fSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsOiBmdW5jdGlvbihlcnJvcjogRTEpIHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIHNlbGYuYWN0aXZpdHlGaW5pc2hlZEV2ZW50cy5wdWJsaXNoKHt9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBzZWxmLmFjdGl2aXR5VGFicy5wdXNoKGNvbnRleHQpO1xuICAgICAgc2VsZi50YWJzLnNlbGVjdGVkSW5kZXggPSB0aGlzLmFjdGl2aXR5VGFicy5sZW5ndGg7XG4gICAgfSk7XG4gIH1cblxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0QWN0aXZpdHkoQWxlcnREaWFsb2dDb21wb25lbnQsIGFsZXJ0KTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0QWN0aXZpdHkoQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBjb25maXJtKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQxLCBSMSwgRTE+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgICByZXR1cm4gdGhpcy5zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RDEsIFIxLCBFMT4sIFIxLCBFMT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25BY3Rpdml0eUZpbmlzaGVkKCkge1xuICAgIC8vIGRvbid0IGRvIGFueXRoaW5nIGlmIGpvYiBhbHJlYWR5IHF1ZXVlZCB1cC5cbiAgICBpZiAoIXRoaXMuZmluaXNoZWQpIHtcbiAgICAgIGlmICh0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpKSB7XG4gICAgICAgIHRoaXMuY2xlYW51cFN0YWxlQWN0aXZpdGllcygpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGNsZWFudXBTdGFsZUFjdGl2aXRpZXMoKSB7XG4gICAgLy8gY2xlYW4gdXAgb2xkIHRhYnNcbiAgICBpZiAodGhpcy50YWJzLnNlbGVjdGVkSW5kZXggPCB0aGlzLmFjdGl2aXR5VGFicy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLmFjdGl2aXR5VGFicy5ydW5JblRyYW5zYWN0aW9uKGRyYWZ0ID0+IHtcbiAgICAgICAgZHJhZnQudmFsdWUgPSBkcmFmdC52YWx1ZS5zbGljZSgwLCAxICsgdGhpcy50YWJzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN5bmNocm9uaXNlcyB0aGUgc2VsZWN0ZWQgdGFiIGluZGV4LiAgUmV0dXJucyB0cnVlIGlmIHRoZXJlIHdhcyBubyBjaGFuZ2UgdG8gdGhlIHNlbGVjdGVkIGluZGV4LlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBzeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IHRoaXMudGFicy5zZWxlY3RlZEluZGV4O1xuICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5hY3Rpdml0eVRhYnMucXVlcnkoKS5maW5kSW5kZXgodCA9PiB0LmlzQ29tcGxldGUoKSkgLSAxO1xuICAgIHRoaXMudGFicy5zZWxlY3RlZEluZGV4ID0gbmV3SW5kZXg7XG4gICAgcmV0dXJuIHByZXZpb3VzSW5kZXggPT09IG5ld0luZGV4O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBvbkFuaW1hdGlvbkZpbmlzaGVkKCkge1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRPdXRsZXQoKS5jb21wb25lbnQub25BY3Rpdml0eVJlYWR5KCk7XG4gICAgdGhpcy5jbGVhbnVwU3RhbGVBY3Rpdml0aWVzKCk7XG4gICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQWN0aXZpdHlMaXN0KCkge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdC52YWx1ZSA9IHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlLmZpbHRlcih0ID0+ICF0LmlzQ29tcGxldGUoKSAmJiB0LmlzQ29tcG9uZW50UmVhbGlzZWQoKSkubWFwKHQgPT4gdC5jb21wb25lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZE91dGxldCgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRsZXRzLnRvQXJyYXkoKVt0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleF07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -8,15 +8,14 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export function ActivityOutletContext() { }
|
|
10
10
|
if (false) {
|
|
11
|
-
/** @type {?} */
|
|
12
|
-
ActivityOutletContext.prototype.interactionContext;
|
|
13
11
|
/** @type {?} */
|
|
14
12
|
ActivityOutletContext.prototype.activityClass;
|
|
15
13
|
/** @type {?} */
|
|
16
14
|
ActivityOutletContext.prototype.activityData;
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
/**
|
|
16
|
+
* @param {?} component
|
|
17
|
+
* @return {?}
|
|
18
|
+
*/
|
|
19
|
+
ActivityOutletContext.prototype.componentReady = function (component) { };
|
|
21
20
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktb3V0bGV0LWNvbnRleHQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vY29tcG9uZW50cy9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSwyQ0FJQzs7O0lBSEMsOENBQWdEOztJQUNoRCw2Q0FBZ0I7Ozs7O0lBQ2hCLDBFQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPiBleHRlbmRzIEFjdGl2aXR5LkNhbGxiYWNrczxSLCBFPiB7XG4gIGFjdGl2aXR5Q2xhc3M6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LFxuICBhY3Rpdml0eURhdGE6IEQsXG4gIGNvbXBvbmVudFJlYWR5Pyhjb21wb25lbnQ6QWN0aXZpdHk8RCxSLEU+KTtcbn1cbiJdfQ==
|