@skyux/flyout 5.0.4 → 5.1.0
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/skyux-flyout.umd.js +123 -31
- package/documentation.json +439 -150
- package/esm2015/modules/flyout/flyout-instance.js +13 -2
- package/esm2015/modules/flyout/flyout.component.js +67 -19
- package/esm2015/modules/flyout/flyout.module.js +6 -2
- package/esm2015/modules/flyout/flyout.service.js +21 -7
- package/esm2015/modules/flyout/types/flyout-before-close-handler.js +9 -0
- package/esm2015/modules/flyout/types/flyout-close-args.js +2 -0
- package/esm2015/modules/flyout/types/flyout-config.js +1 -1
- package/esm2015/modules/flyout/types/flyout-message.js +1 -1
- package/esm2015/public-api.js +3 -1
- package/fesm2015/skyux-flyout.js +110 -25
- package/fesm2015/skyux-flyout.js.map +1 -1
- package/modules/flyout/flyout-instance.d.ts +12 -2
- package/modules/flyout/flyout.component.d.ts +11 -2
- package/modules/flyout/flyout.module.d.ts +10 -9
- package/modules/flyout/flyout.service.d.ts +7 -3
- package/modules/flyout/types/flyout-before-close-handler.d.ts +10 -0
- package/modules/flyout/types/flyout-close-args.d.ts +9 -0
- package/modules/flyout/types/flyout-config.d.ts +10 -0
- package/modules/flyout/types/flyout-message.d.ts +3 -0
- package/package.json +2 -1
- package/public-api.d.ts +2 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Injectable, } from '@angular/core';
|
|
2
2
|
import { NavigationStart } from '@angular/router';
|
|
3
3
|
import { fromEvent, Subject } from 'rxjs';
|
|
4
4
|
import { take, takeUntil, takeWhile } from 'rxjs/operators';
|
|
@@ -13,11 +13,13 @@ import * as i2 from "@angular/router";
|
|
|
13
13
|
* document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.
|
|
14
14
|
*/
|
|
15
15
|
export class SkyFlyoutService {
|
|
16
|
-
constructor(coreAdapter, windowRef, dynamicComponentService, router) {
|
|
16
|
+
constructor(coreAdapter, windowRef, dynamicComponentService, router, _ngZone, applicationRef) {
|
|
17
17
|
this.coreAdapter = coreAdapter;
|
|
18
18
|
this.windowRef = windowRef;
|
|
19
19
|
this.dynamicComponentService = dynamicComponentService;
|
|
20
20
|
this.router = router;
|
|
21
|
+
this._ngZone = _ngZone;
|
|
22
|
+
this.applicationRef = applicationRef;
|
|
21
23
|
this.removeAfterClosed = false;
|
|
22
24
|
this.isOpening = false;
|
|
23
25
|
this.ngUnsubscribe = new Subject();
|
|
@@ -30,12 +32,16 @@ export class SkyFlyoutService {
|
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
34
|
* Closes the flyout. This method also removes the flyout's HTML elements from the DOM.
|
|
35
|
+
* @param args Arguments used when closing the flyout.
|
|
33
36
|
*/
|
|
34
|
-
close() {
|
|
37
|
+
close(args) {
|
|
35
38
|
if (this.host && !this.isOpening) {
|
|
36
39
|
this.removeAfterClosed = true;
|
|
37
40
|
this.host.instance.messageStream.next({
|
|
38
41
|
type: SkyFlyoutMessageType.Close,
|
|
42
|
+
data: {
|
|
43
|
+
ignoreBeforeClose: args ? args.ignoreBeforeClose : false,
|
|
44
|
+
},
|
|
39
45
|
});
|
|
40
46
|
}
|
|
41
47
|
}
|
|
@@ -57,6 +63,14 @@ export class SkyFlyoutService {
|
|
|
57
63
|
.subscribe((event) => {
|
|
58
64
|
if (event instanceof NavigationStart) {
|
|
59
65
|
this.close();
|
|
66
|
+
// Sanity check - if the host still exists after animations should have completed - remove host
|
|
67
|
+
this._ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
68
|
+
if (this.host) {
|
|
69
|
+
this.removeHostComponent();
|
|
70
|
+
// Without this tick - the host does not actually get removed on initial navigation in this case.
|
|
71
|
+
this.applicationRef.tick();
|
|
72
|
+
}
|
|
73
|
+
});
|
|
60
74
|
}
|
|
61
75
|
});
|
|
62
76
|
}
|
|
@@ -120,7 +134,7 @@ export class SkyFlyoutService {
|
|
|
120
134
|
});
|
|
121
135
|
this.removeAfterClosed = false;
|
|
122
136
|
flyoutInstance.messageStream
|
|
123
|
-
.pipe(
|
|
137
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
124
138
|
.subscribe((message) => {
|
|
125
139
|
if (message.type === SkyFlyoutMessageType.Close) {
|
|
126
140
|
this.removeAfterClosed = true;
|
|
@@ -141,12 +155,12 @@ export class SkyFlyoutService {
|
|
|
141
155
|
this.ngUnsubscribe = new Subject();
|
|
142
156
|
}
|
|
143
157
|
}
|
|
144
|
-
SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
158
|
+
SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }, { token: i0.NgZone }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
145
159
|
SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, providedIn: 'any' });
|
|
146
160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, decorators: [{
|
|
147
161
|
type: Injectable,
|
|
148
162
|
args: [{
|
|
149
163
|
providedIn: 'any',
|
|
150
164
|
}]
|
|
151
|
-
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }]; } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbHlvdXQvc3JjL21vZHVsZXMvZmx5b3V0L2ZseW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFRMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFReEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkU7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDVSxXQUFrQyxFQUNsQyxTQUEwQixFQUMxQix1QkFBbUQsRUFDbkQsTUFBYztRQUhkLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNsQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTRCO1FBQ25ELFdBQU0sR0FBTixNQUFNLENBQVE7UUFSaEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBTzVDLENBQUM7SUFFRyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFD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LENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFDOUMsQ0FBQzs7OEdBN0pVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsS0FBSzs0RkFFTixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICBTa3lBcHBXaW5kb3dSZWYsXG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRJbnN0YW5jZSB9IGZyb20gJy4vZmx5b3V0LWluc3RhbmNlJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0Q29uZmlnIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY29uZmlnJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5cbi8qKlxuICogTGF1bmNoZXMgZmx5b3V0cyBhbmQgcHJvdmlkZXMgYSBjb21tb24gbG9vayBhbmQgZmVlbC5cbiAqIFRoaXMgc2VydmljZSBkeW5hbWljYWxseSBnZW5lcmF0ZXMgdGhlIGZseW91dCBjb21wb25lbnQgYW5kIGFwcGVuZHMgaXQgZGlyZWN0bHkgdG8gdGhlXG4gKiBkb2N1bWVudCdzIGBib2R5YCBlbGVtZW50LiBUaGUgYFNreUZseW91dEluc3RhbmNlYCBjbGFzcyB3YXRjaGVzIGZvciBhbmQgdHJpZ2dlcnMgZmx5b3V0IGV2ZW50cy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD47XG4gIHByaXZhdGUgcmVtb3ZlQWZ0ZXJDbG9zZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc09wZW5pbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZixcbiAgICBwcml2YXRlIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVMaXN0bmVycygpO1xuICAgIGlmICh0aGlzLmhvc3QpIHtcbiAgICAgIHRoaXMucmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGZseW91dC4gVGhpcyBtZXRob2QgYWxzbyByZW1vdmVzIHRoZSBmbHlvdXQncyBIVE1MIGVsZW1lbnRzIGZyb20gdGhlIERPTS5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3N0ICYmICF0aGlzLmlzT3BlbmluZykge1xuICAgICAgdGhpcy5yZW1vdmVBZnRlckNsb3NlZCA9IHRydWU7XG4gICAgICB0aGlzLmhvc3QuaW5zdGFuY2UubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgYSBmbHlvdXQgYW5kIGRpc3BsYXlzIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gY29tcG9uZW50IFNwZWNpZmllcyB0aGUgY29tcG9uZW50IHRvIHJlbmRlci5cbiAgICogQHBhcmFtIGNvbmZpZyBTcGVjaWZpZXMgdGhlIGZseW91dCBjb25maWd1cmF0aW9uIHBhc3NlZCB0byB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yLlxuICAgKi9cbiAgcHVibGljIG9wZW48VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZz86IFNreUZseW91dENvbmZpZ1xuICApOiBTa3lGbHlvdXRJbnN0YW5jZTxUPiB7XG4gICAgLy8gaXNPcGVuaW5nIGZsYWcgd2lsbCBwcmV2ZW50IGNsb3NlKCkgZnJvbSBmaXJpbmcgd2hlbiBvcGVuKCkgaXMgYWxzbyBmaXJlZC5cbiAgICB0aGlzLmlzT3BlbmluZyA9IHRydWU7XG4gICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5ob3N0KSB7XG4gICAgICB0aGlzLmhvc3QgPSB0aGlzLmNyZWF0ZUhvc3RDb21wb25lbnQoKTtcblxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLmhvc3QgIT09IHVuZGVmaW5lZCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmbHlvdXQgPSB0aGlzLmhvc3QuaW5zdGFuY2UuYXR0YWNoKGNvbXBvbmVudCwgY29uZmlnKTtcblxuICAgIHRoaXMuYWRkTGlzdGVuZXJzKGZseW91dCk7XG5cbiAgICByZXR1cm4gZmx5b3V0O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVIb3N0Q29tcG9uZW50KCk6IENvbXBvbmVudFJlZjxTa3lGbHlvdXRDb21wb25lbnQ+IHtcbiAgICB0aGlzLmhvc3QgPVxuICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoU2t5Rmx5b3V0Q29tcG9uZW50KTtcbiAgICByZXR1cm4gdGhpcy5ob3N0O1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVIb3N0Q29tcG9uZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhvc3QpIHtcbiAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KHRoaXMuaG9zdCk7XG4gICAgICB0aGlzLmhvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRMaXN0ZW5lcnM8VD4oZmx5b3V0OiBTa3lGbHlvdXRJbnN0YW5jZTxUPik6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuaG9zdCkge1xuICAgICAgY29uc3QgZmx5b3V0SW5zdGFuY2UgPSB0aGlzLmhvc3QuaW5zdGFuY2U7XG5cbiAgICAgIGxldCBkb0Nsb3NlID0gZmFsc2U7XG5cbiAgICAgIC8qKlxuICAgICAgICogSGFuZGxlcyB3aGVuIHRvIGNsb3NlIGEgZmx5b3V0LlxuICAgICAgICogTm90ZTogV2UncmUgdXNpbmcgYG1vdXNldXBgIGluIG9yZGVyIHRvIGNhcHR1cmUgdGhlIHBhcmVudCBvZiBjZXJ0YWluIHRhcmdldHMgdGhhdCB3aWxsIGJlXG4gICAgICAgKiBkZWxldGVkIGltbWVkaWF0ZWx5IGFmdGVyIGJlaW5nIGNsaWNrZWQuIElmIHdlIHVzZSBgY2xpY2tgLCB0aGUgZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlXG4gICAgICAgKiBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGNoZWNrIHRoZSBwYXJlbnQncyB6LWluZGV4XG4gICAgICAgKiByZWxhdGl2ZSB0byB0aGUgZmx5b3V0J3MgY29udGFpbmVyLlxuICAgICAgICovXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZXVwJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgZG9DbG9zZSA9IGZhbHNlO1xuXG4gICAgICAgICAgaWYgKHRoaXMuaG9zdC5pbnN0YW5jZS5pc0RyYWdnaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZseW91dEluc3RhbmNlLmZseW91dFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID1cbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gZG9jdW1lbnRcbiAgICAgICAgICAgICAgPyBmYWxzZVxuICAgICAgICAgICAgICA6IHRoaXMuY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICBmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghaXNBYm92ZSkge1xuICAgICAgICAgICAgZG9DbG9zZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgLyoqXG4gICAgICAgKiBDaGVjayBpZiB3ZSBzaG91bGQgY2xvc2UgdGhlIGZseW91dCBzcGVjaWZpY2FsbHkgb24gYSBgY2xpY2tgIGV2ZW50IHNvIHRoYXQgd2UgY2FuIGtlZXBcbiAgICAgICAqIGl0IG9wZW4gd2hlbiBjb25zdW1lcnMgZmlyZSBhbm90aGVyIGBjbGlja2AgZXZlbnQgb24gYSB0cmlnZ2VyIGJ1dHRvbi4gU2luY2UgdGhlIGNvbnN1bWVyXG4gICAgICAgKiB3aWxsIGxpa2VseSB1c2UgYSBgY2xpY2tgIGV2ZW50IHRvIG9wZW4gdGhlIGZseW91dCwgd2Ugd2FudCB0byB3YWl0IGZvciB0aGF0IGV2ZW50IHRvIGZpcmVcbiAgICAgICAqIGJlZm9yZSBkZXRlcm1pbmluZyBpZiB0aGUgZmx5b3V0IHNob3VsZCBiZSBjbG9zZWQuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmIChkb0Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5yZW1vdmVBZnRlckNsb3NlZCA9IGZhbHNlO1xuICAgICAgZmx5b3V0SW5zdGFuY2UubWVzc2FnZVN0cmVhbVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlQWZ0ZXJDbG9zZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBmbHlvdXQuY2xvc2VkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0bmVycygpO1xuICAgICAgICBpZiAodGhpcy5yZW1vdmVBZnRlckNsb3NlZCkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxpc3RuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KHRydWUpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIH1cbn1cbiJdfQ==
|
|
165
|
+
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }, { type: i0.NgZone }, { type: i0.ApplicationRef }]; } });
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbHlvdXQvc3JjL21vZHVsZXMvZmx5b3V0L2ZseW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxVQUFVLEdBSVgsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBUTFELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBUXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBR25FOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQ1UsV0FBa0MsRUFDbEMsU0FBMEIsRUFDMUIsdUJBQW1ELEVBQ25ELE1BQWMsRUFDTCxPQUFlLEVBQ2YsY0FBOEI7UUFMdkMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBNEI7UUFDbkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNMLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFWekMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBUzVDLENBQUM7SUFFRyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7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QVMsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLEtBQUssRUFBRTtvQkFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztvQkFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7aUJBQ3hCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFTCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN6QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO29CQUMxQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztpQkFDNUI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFDOUMsQ0FBQzs7OEdBNUtVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsS0FBSzs0RkFFTixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUZseW91dENvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreUZseW91dEluc3RhbmNlIH0gZnJvbSAnLi9mbHlvdXQtaW5zdGFuY2UnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5cbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcbmltcG9ydCB7IFNreUZseW91dENsb3NlQXJncyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNsb3NlLWFyZ3MnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGhvc3Q6IENvbXBvbmVudFJlZjxTa3lGbHlvdXRDb21wb25lbnQ+O1xuICBwcml2YXRlIHJlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gIHByaXZhdGUgaXNPcGVuaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50U2VydmljZTogU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZlxuICApIHt9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlTGlzdG5lcnMoKTtcbiAgICBpZiAodGhpcy5ob3N0KSB7XG4gICAgICB0aGlzLnJlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBmbHlvdXQuIFRoaXMgbWV0aG9kIGFsc28gcmVtb3ZlcyB0aGUgZmx5b3V0J3MgSFRNTCBlbGVtZW50cyBmcm9tIHRoZSBET00uXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3N0ICYmICF0aGlzLmlzT3BlbmluZykge1xuICAgICAgdGhpcy5yZW1vdmVBZnRlckNsb3NlZCA9IHRydWU7XG4gICAgICB0aGlzLmhvc3QuaW5zdGFuY2UubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBpZ25vcmVCZWZvcmVDbG9zZTogYXJncyA/IGFyZ3MuaWdub3JlQmVmb3JlQ2xvc2UgOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIGZseW91dCBhbmQgZGlzcGxheXMgdGhlIHNwZWNpZmllZCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgU3BlY2lmaWVzIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyLlxuICAgKiBAcGFyYW0gY29uZmlnIFNwZWNpZmllcyB0aGUgZmx5b3V0IGNvbmZpZ3VyYXRpb24gcGFzc2VkIHRvIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50J3MgY29uc3RydWN0b3IuXG4gICAqL1xuICBwdWJsaWMgb3BlbjxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnPzogU2t5Rmx5b3V0Q29uZmlnXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICAvLyBpc09wZW5pbmcgZmxhZyB3aWxsIHByZXZlbnQgY2xvc2UoKSBmcm9tIGZpcmluZyB3aGVuIG9wZW4oKSBpcyBhbHNvIGZpcmVkLlxuICAgIHRoaXMuaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzT3BlbmluZyA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLmhvc3QpIHtcbiAgICAgIHRoaXMuaG9zdCA9IHRoaXMuY3JlYXRlSG9zdENvbXBvbmVudCgpO1xuXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgLnBpcGUodGFrZVdoaWxlKCgpID0+IHRoaXMuaG9zdCAhPT0gdW5kZWZpbmVkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcblxuICAgICAgICAgICAgLy8gU2FuaXR5IGNoZWNrIC0gaWYgdGhlIGhvc3Qgc3RpbGwgZXhpc3RzIGFmdGVyIGFuaW1hdGlvbnMgc2hvdWxkIGhhdmUgY29tcGxldGVkIC0gcmVtb3ZlIGhvc3RcbiAgICAgICAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmhvc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICAgICAgICAgICAgICAvLyBXaXRob3V0IHRoaXMgdGljayAtIHRoZSBob3N0IGRvZXMgbm90IGFjdHVhbGx5IGdldCByZW1vdmVkIG9uIGluaXRpYWwgbmF2aWdhdGlvbiBpbiB0aGlzIGNhc2UuXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvblJlZi50aWNrKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmx5b3V0ID0gdGhpcy5ob3N0Lmluc3RhbmNlLmF0dGFjaChjb21wb25lbnQsIGNvbmZpZyk7XG5cbiAgICB0aGlzLmFkZExpc3RlbmVycyhmbHlvdXQpO1xuXG4gICAgcmV0dXJuIGZseW91dDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSG9zdENvbXBvbmVudCgpOiBDb21wb25lbnRSZWY8U2t5Rmx5b3V0Q29tcG9uZW50PiB7XG4gICAgdGhpcy5ob3N0ID1cbiAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFNreUZseW91dENvbXBvbmVudCk7XG4gICAgcmV0dXJuIHRoaXMuaG9zdDtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlSG9zdENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3N0KSB7XG4gICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmhvc3QpO1xuICAgICAgdGhpcy5ob3N0ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkTGlzdGVuZXJzPFQ+KGZseW91dDogU2t5Rmx5b3V0SW5zdGFuY2U8VD4pOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmhvc3QpIHtcbiAgICAgIGNvbnN0IGZseW91dEluc3RhbmNlID0gdGhpcy5ob3N0Lmluc3RhbmNlO1xuXG4gICAgICBsZXQgZG9DbG9zZSA9IGZhbHNlO1xuXG4gICAgICAvKipcbiAgICAgICAqIEhhbmRsZXMgd2hlbiB0byBjbG9zZSBhIGZseW91dC5cbiAgICAgICAqIE5vdGU6IFdlJ3JlIHVzaW5nIGBtb3VzZXVwYCBpbiBvcmRlciB0byBjYXB0dXJlIHRoZSBwYXJlbnQgb2YgY2VydGFpbiB0YXJnZXRzIHRoYXQgd2lsbCBiZVxuICAgICAgICogZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBiZWluZyBjbGlja2VkLiBJZiB3ZSB1c2UgYGNsaWNrYCwgdGhlIGV2ZW50IGlzIGZpcmVkIGFmdGVyIHRoZVxuICAgICAgICogZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlIERPTSBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBjaGVjayB0aGUgcGFyZW50J3Mgei1pbmRleFxuICAgICAgICogcmVsYXRpdmUgdG8gdGhlIGZseW91dCdzIGNvbnRhaW5lci5cbiAgICAgICAqL1xuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgIGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgICAgIGlmICh0aGlzLmhvc3QuaW5zdGFuY2UuaXNEcmFnZ2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgaXNBYm92ZSA9XG4gICAgICAgICAgICBldmVudC50YXJnZXQgPT09IGRvY3VtZW50XG4gICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgOiB0aGlzLmNvcmVBZGFwdGVyLmlzVGFyZ2V0QWJvdmVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgZmx5b3V0SW5zdGFuY2UuZmx5b3V0UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoIWlzQWJvdmUpIHtcbiAgICAgICAgICAgIGRvQ2xvc2UgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIC8qKlxuICAgICAgICogQ2hlY2sgaWYgd2Ugc2hvdWxkIGNsb3NlIHRoZSBmbHlvdXQgc3BlY2lmaWNhbGx5IG9uIGEgYGNsaWNrYCBldmVudCBzbyB0aGF0IHdlIGNhbiBrZWVwXG4gICAgICAgKiBpdCBvcGVuIHdoZW4gY29uc3VtZXJzIGZpcmUgYW5vdGhlciBgY2xpY2tgIGV2ZW50IG9uIGEgdHJpZ2dlciBidXR0b24uIFNpbmNlIHRoZSBjb25zdW1lclxuICAgICAgICogd2lsbCBsaWtlbHkgdXNlIGEgYGNsaWNrYCBldmVudCB0byBvcGVuIHRoZSBmbHlvdXQsIHdlIHdhbnQgdG8gd2FpdCBmb3IgdGhhdCBldmVudCB0byBmaXJlXG4gICAgICAgKiBiZWZvcmUgZGV0ZXJtaW5pbmcgaWYgdGhlIGZseW91dCBzaG91bGQgYmUgY2xvc2VkLlxuICAgICAgICovXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAoZG9DbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVtb3ZlQWZ0ZXJDbG9zZWQgPSBmYWxzZTtcbiAgICAgIGZseW91dEluc3RhbmNlLm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IFNreUZseW91dE1lc3NhZ2UpID0+IHtcbiAgICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVBZnRlckNsb3NlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIGZseW91dC5jbG9zZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUxpc3RuZXJzKCk7XG4gICAgICAgIGlmICh0aGlzLnJlbW92ZUFmdGVyQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVIb3N0Q29tcG9uZW50KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGlzdG5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.
|
|
3
|
+
*/
|
|
4
|
+
export class SkyFlyoutBeforeCloseHandler {
|
|
5
|
+
constructor(closeFlyoutFunction) {
|
|
6
|
+
this.closeFlyout = closeFlyoutFunction;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmx5b3V0L3NyYy9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtYmVmb3JlLWNsb3NlLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBTXRDLFlBQVksbUJBQTZCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUM7SUFDekMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIYW5kbGVyIGZvciBub3RpZnlpbmcgdGhlIGZseW91dCB3aGVuIGl0IGlzIGFwcHJvcHJpYXRlIHRvIGNsb3NlIHRoZSBmbHlvdXQuIFRoaXMgd2lsbCBiZSByZXR1cm5lZCBmcm9tIHRoZSBmbHlvdXQgaW5zdGFuY2UncyBgYmVmb3JlQ2xvc2VgIG9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXIge1xuICAvKipcbiAgICogRnVuY3Rpb24gd2hpY2ggc2hvdWxkIGJlIGNhbGxlZCB0byBjbG9zZSB0aGUgZmx5b3V0LiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgb25jZSBhbnkgaW50ZXJ2ZW5pbmcgYWN0aW9ucyBoYXZlIGNvbXBsZXRlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjbG9zZUZseW91dDogRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoY2xvc2VGbHlvdXRGdW5jdGlvbjogRnVuY3Rpb24pIHtcbiAgICB0aGlzLmNsb3NlRmx5b3V0ID0gY2xvc2VGbHlvdXRGdW5jdGlvbjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWNsb3NlLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbHlvdXQvc3JjL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1jbG9zZS1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyBhIGZseW91dCBwcm9ncmFtYXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0Q2xvc2VBcmdzIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcmAgc2hvdWxkIGJlIGlnbm9yZWQgd2hlbiBjbG9zaW5nIGEgZmx5b3V0LlxuICAgKi9cbiAgaWdub3JlQmVmb3JlQ2xvc2U/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZseW91dC9zcmMvbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Rmx5b3V0QWN0aW9uIH0gZnJvbSAnLi9mbHlvdXQtYWN0aW9uJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0UGVybWFsaW5rIH0gZnJvbSAnLi9mbHlvdXQtcGVybWFsaW5rJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byBzZXQgdXAgYSBmbHlvdXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgSFRNTCBlbGVtZW50IElEICh3aXRob3V0IHRoZSBsZWFkaW5nIGAjYCkgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXNcbiAgICogdGhlIGZseW91dC4gVGhpcyBzZXRzIHRoZSBmbHlvdXQncyBgYXJpYS1kZXNjcmliZWRieWAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIFRoZSBkZXNjcmlwdGlvbiB0eXBpY2FsbHkgaW5jbHVkZXMgdGV4dCBvbiB0aGUgZmx5b3V0IGJ1dCBub3Qgb24gaXRlbXMgdGhhdCB1c2Vyc1xuICAgKiBpbnRlcmFjdCB3aXRoLCBzdWNoIGFzIGJ1dHRvbnMgYW5kIGZvcm1zLlxuICAgKi9cbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSBsYWJlbCBmb3IgdGhlIGZseW91dC4gVGhpcyBzZXRzIHRoZSBmbHlvdXRzJ3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgZmx5b3V0IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxsZWRCeWAgaW5zdGVhZC5cbiAgICovXG4gIGFyaWFMYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBIVE1MIGVsZW1lbnQgSUQgKHdpdGhvdXQgdGhlIGxlYWRpbmcgYCNgKSBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVsc1xuICAgKiB0aGUgZmx5b3V0LiBUaGlzIHNldHMgdGhlIGZseW91dCdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgZmx5b3V0IGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGAgaW5zdGVhZC5cbiAgICovXG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSByb2xlIGZvciB0aGUgZmx5b3V0XG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSlcbiAgICogYnkgaW5kaWNhdGluZyBob3cgdGhlIGZseW91dCBmdW5jdGlvbnMgYW5kIHdoYXQgaXQgY29udHJvbHMuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBob3dcbiAgICogYW4gQVJJQSByb2xlIGluZGljYXRlcyB3aGF0IGFuIGl0ZW0gcmVwcmVzZW50cyBvbiBhIHdlYiBwYWdlLFxuICAgKiBzZWUgdGhlIFtXQUktQVJJQSByb2xlcyBtb2RlbF0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9QRi9hcmlhL3JvbGVzKS5cbiAgICogQGRlZmF1bHQgZGlhbG9nXG4gICAqIEBkZXByZWNhdGVkIFNpbmNlIHZlcnNpb24gYDUuMS4wYC4gQ29uc3VtZXJzIHNob3VsZCB1c2UgdGhlIGRlZmF1bHQgYGRpYWxvZ2Agcm9sZSB0byBlbnN1cmUgYVxuICAgKiBwcm9wZXIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRhdGlvbi5cbiAgICovXG4gIGFyaWFSb2xlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIGZseW91dCBjb250YWluZXIuIElmIHlvdSBkbyBub3QgcHJvdmlkZSBhIHdpZHRoLFxuICAgKiB0aGUgZmx5b3V0IGRlZmF1bHRzIHRvIGhhbGYgdGhlIHdpZHRoIG9mIGl0cyBjb250YWluZXIuXG4gICAqL1xuICBkZWZhdWx0V2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWluaW11bSByZXNpemUgd2lkdGggb2YgdGhlIGZseW91dCBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IDMyMFxuICAgKi9cbiAgbWluV2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSByZXNpemUgd2lkdGggb2YgdGhlIGZseW91dCBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IGRlZmF1bHRXaWR0aFxuICAgKi9cbiAgbWF4V2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgcGVybWFsaW5rIGJ1dHRvbiBpbiB0aGUgZmx5b3V0IGhlYWRlciB0aGF0IG5hdmlnYXRlcyB1c2VycyB0byB0aGUgVVJMXG4gICAqIChvciBhcHBsaWNhdGlvbiByb3V0ZSkgcmVwcmVzZW50YXRpdmUgb2YgdGhlIGZseW91dCdzIGNvbnRlbnRzLlxuICAgKi9cbiAgcGVybWFsaW5rPzogU2t5Rmx5b3V0UGVybWFsaW5rO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhIGNvbmZpZ3VyYWJsZSBidXR0b24gaW4gdGhlIGZseW91dCBoZWFkZXIuXG4gICAqL1xuICBwcmltYXJ5QWN0aW9uPzogU2t5Rmx5b3V0QWN0aW9uO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gYXJyYXkgb2YgY3VzdG9tIHByb3ZpZGVycyB0byBwYXNzIHRvIHRoZSBjb21wb25lbnQncyBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIHByb3ZpZGVycz86IGFueVtdO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IGl0ZXJhdG9yIGJ1dHRvbnMgaW4gdGhlIGZseW91dCBoZWFkZXJcbiAgICogdG8gYWNjZXNzIHRoZSBuZXh0IGFuZCBwcmV2aW91cyByZWNvcmRzIGluIGEgcmVjb3JkIHNldC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNob3dJdGVyYXRvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBwcmV2aW91cyBpdGVyYXRvciBidXR0b24gaW4gdGhlIGZseW91dCBoZWFkZXIgdGhhdCBhY2Nlc3Nlc1xuICAgKiB0aGUgcHJldmlvdXMgcmVjb3JkIGluIGEgcmVjb3JkIHNldC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGl0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBuZXh0IGl0ZXJhdG9yIGJ1dHRvbiBpbiB0aGUgZmx5b3V0IGhlYWRlciB0aGF0IGFjY2Vzc2VzIHRoZSBuZXh0IHJlY29yZFxuICAgKiBpbiBhIHJlY29yZCBzZXQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBpdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHVuaXF1ZSBrZXkgZm9yIHRoZSBVSSBDb25maWcgU2VydmljZSB0byByZXRyaWV2ZSBzdG9yZWQgc2V0dGluZ3MgZnJvbSBhIGRhdGFiYXNlLlxuICAgKiBUaGUgVUkgQ29uZmlnIFNlcnZpY2Ugc2F2ZXMgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgdXNlcnMgdG8gcHJlc2VydmUgdGhlIHdpZHRoIG9mXG4gICAqIHRoZSBmbHlvdXQuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBVSSBDb25maWcgU2VydmljZSxcbiAgICogc2VlIFt0aGUgc3RpY2t5IHNldHRpbmdzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vZ2V0LXN0YXJ0ZWQvYWR2YW5jZWQvc3RpY2t5LXNldHRpbmdzKS5cbiAgICovXG4gIHNldHRpbmdzS2V5Pzogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbHlvdXQvc3JjL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0TWVzc2FnZSB7XG4gIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlO1xuICBkYXRhPzoge1xuICAgIGlnbm9yZUJlZm9yZUNsb3NlPzogYm9vbGVhbjtcbiAgfTtcbn1cbiJdfQ==
|
package/esm2015/public-api.js
CHANGED
|
@@ -2,6 +2,8 @@ export * from './modules/flyout/flyout-instance';
|
|
|
2
2
|
export * from './modules/flyout/flyout.module';
|
|
3
3
|
export * from './modules/flyout/flyout.service';
|
|
4
4
|
export * from './modules/flyout/types/flyout-action';
|
|
5
|
+
export * from './modules/flyout/types/flyout-before-close-handler';
|
|
6
|
+
export * from './modules/flyout/types/flyout-close-args';
|
|
5
7
|
export * from './modules/flyout/types/flyout-config';
|
|
6
8
|
export * from './modules/flyout/types/flyout-message';
|
|
7
9
|
export * from './modules/flyout/types/flyout-message-type';
|
|
@@ -9,4 +11,4 @@ export * from './modules/flyout/types/flyout-permalink';
|
|
|
9
11
|
// Components and directives must be exported to support Angular’s “partial” Ivy compiler.
|
|
10
12
|
// Obscure names are used to indicate types are not part of the public API.
|
|
11
13
|
export { SkyFlyoutComponent as λ1 } from './modules/flyout/flyout.component';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2ZseW91dC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELDBGQUEwRjtBQUMxRiwyRUFBMkU7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixJQUFJLEVBQUUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtaW5zdGFuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC9mbHlvdXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWNsb3NlLWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LXBlcm1hbGluayc7XG5cbi8vIENvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXMgbXVzdCBiZSBleHBvcnRlZCB0byBzdXBwb3J0IEFuZ3VsYXLigJlzIOKAnHBhcnRpYWzigJ0gSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgYXMgzrsxIH0gZnJvbSAnLi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50JztcbiJdfQ==
|
package/fesm2015/skyux-flyout.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, NgModule, Injectable, Component, Input, Output,
|
|
2
|
+
import { EventEmitter, NgModule, Injectable, Component, Input, Output, Injector, ElementRef, ViewContainerRef, ChangeDetectionStrategy, ViewChild, HostListener } from '@angular/core';
|
|
3
3
|
import { Subject, BehaviorSubject, fromEvent } from 'rxjs';
|
|
4
|
+
import * as i9 from '@angular/cdk/a11y';
|
|
5
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
4
6
|
import * as i7 from '@angular/common';
|
|
5
7
|
import { CommonModule } from '@angular/common';
|
|
6
8
|
import { FormsModule } from '@angular/forms';
|
|
@@ -10,7 +12,7 @@ import * as i1$1 from '@skyux/indicators';
|
|
|
10
12
|
import { SkyIconModule } from '@skyux/indicators';
|
|
11
13
|
import * as i2$1 from '@skyux/i18n';
|
|
12
14
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
13
|
-
import * as
|
|
15
|
+
import * as i10 from '@skyux/router';
|
|
14
16
|
import { SkyHrefModule } from '@skyux/router';
|
|
15
17
|
import * as i2 from '@skyux/theme';
|
|
16
18
|
import { SkyThemeModule } from '@skyux/theme';
|
|
@@ -46,6 +48,7 @@ class SkyFlyoutInstance {
|
|
|
46
48
|
* @default true
|
|
47
49
|
*/
|
|
48
50
|
this.isOpen = true;
|
|
51
|
+
this._beforeClose = new Subject();
|
|
49
52
|
this._iteratorNextButtonClick = new EventEmitter();
|
|
50
53
|
this._iteratorPreviousButtonClick = new EventEmitter();
|
|
51
54
|
this._iteratorNextButtonDisabled = false;
|
|
@@ -55,6 +58,14 @@ class SkyFlyoutInstance {
|
|
|
55
58
|
this.isOpen = false;
|
|
56
59
|
});
|
|
57
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* An event that the modal instance emits when it is about to close.
|
|
63
|
+
* If a subscription exists for this event,
|
|
64
|
+
* the modal does not close until the subscriber calls the handler's `closeModal` method.
|
|
65
|
+
*/
|
|
66
|
+
get beforeClose() {
|
|
67
|
+
return this._beforeClose;
|
|
68
|
+
}
|
|
58
69
|
/**
|
|
59
70
|
* Used to communicate with the host component.
|
|
60
71
|
* @internal
|
|
@@ -116,10 +127,12 @@ class SkyFlyoutInstance {
|
|
|
116
127
|
}
|
|
117
128
|
/**
|
|
118
129
|
* Closes the flyout instance and emits its `closed` event.
|
|
130
|
+
* @param args Arguments used when closing the flyout.
|
|
119
131
|
*/
|
|
120
|
-
close() {
|
|
132
|
+
close(args) {
|
|
121
133
|
this.hostController.next({
|
|
122
134
|
type: SkyFlyoutMessageType.Close,
|
|
135
|
+
data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },
|
|
123
136
|
});
|
|
124
137
|
this._iteratorPreviousButtonClick.complete();
|
|
125
138
|
this._iteratorNextButtonClick.complete();
|
|
@@ -306,6 +319,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
306
319
|
type: Injectable
|
|
307
320
|
}], ctorParameters: function () { return []; } });
|
|
308
321
|
|
|
322
|
+
/**
|
|
323
|
+
* Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.
|
|
324
|
+
*/
|
|
325
|
+
class SkyFlyoutBeforeCloseHandler {
|
|
326
|
+
constructor(closeFlyoutFunction) {
|
|
327
|
+
this.closeFlyout = closeFlyoutFunction;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
309
331
|
/**
|
|
310
332
|
* @internal
|
|
311
333
|
*/
|
|
@@ -366,7 +388,7 @@ let nextId = 0;
|
|
|
366
388
|
* @internal
|
|
367
389
|
*/
|
|
368
390
|
class SkyFlyoutComponent {
|
|
369
|
-
constructor(adapter, changeDetector, injector, resolver, resourcesService, flyoutMediaQueryService, elementRef, uiConfigService) {
|
|
391
|
+
constructor(adapter, changeDetector, injector, resolver, resourcesService, flyoutMediaQueryService, elementRef, uiConfigService, _ngZone) {
|
|
370
392
|
this.adapter = adapter;
|
|
371
393
|
this.changeDetector = changeDetector;
|
|
372
394
|
this.injector = injector;
|
|
@@ -375,11 +397,13 @@ class SkyFlyoutComponent {
|
|
|
375
397
|
this.flyoutMediaQueryService = flyoutMediaQueryService;
|
|
376
398
|
this.elementRef = elementRef;
|
|
377
399
|
this.uiConfigService = uiConfigService;
|
|
400
|
+
this._ngZone = _ngZone;
|
|
378
401
|
this.flyoutId = `sky-flyout-${++nextId}`;
|
|
379
402
|
this.flyoutState = FLYOUT_CLOSED_STATE;
|
|
380
403
|
this.isOpen = false;
|
|
381
404
|
this.isOpening = false;
|
|
382
405
|
this.flyoutWidth = 0;
|
|
406
|
+
this.instanceReady = false;
|
|
383
407
|
this.isDragging = false;
|
|
384
408
|
this.isFullscreen = false;
|
|
385
409
|
this.resizeKeyControlActive = false;
|
|
@@ -465,16 +489,16 @@ class SkyFlyoutComponent {
|
|
|
465
489
|
this.config.iteratorPreviousButtonDisabled =
|
|
466
490
|
this.config.iteratorPreviousButtonDisabled || false;
|
|
467
491
|
const factory = this.resolver.resolveComponentFactory(component);
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
*/
|
|
473
|
-
const providers = ReflectiveInjector.resolve(this.config.providers);
|
|
474
|
-
const injector = ReflectiveInjector.fromResolvedProviders(providers, this.injector);
|
|
475
|
-
/* tslint:enable:deprecation */
|
|
492
|
+
const injector = Injector.create({
|
|
493
|
+
parent: this.injector,
|
|
494
|
+
providers: this.config.providers,
|
|
495
|
+
});
|
|
476
496
|
const componentRef = this.target.createComponent(factory, undefined, injector);
|
|
477
497
|
this.flyoutInstance = this.createFlyoutInstance(componentRef.instance);
|
|
498
|
+
// This is used to ensure we do not render the flyout until we have attached the component.
|
|
499
|
+
// This allows the aria-labelledby to function correctly.
|
|
500
|
+
this.instanceReady = true;
|
|
501
|
+
this.changeDetector.markForCheck();
|
|
478
502
|
// Open the flyout immediately.
|
|
479
503
|
this.messageStream.next({
|
|
480
504
|
type: SkyFlyoutMessageType.Open,
|
|
@@ -513,7 +537,9 @@ class SkyFlyoutComponent {
|
|
|
513
537
|
return false;
|
|
514
538
|
}
|
|
515
539
|
getAnimationState() {
|
|
516
|
-
return this.
|
|
540
|
+
return this.instanceReady && this.isOpening
|
|
541
|
+
? FLYOUT_OPEN_STATE
|
|
542
|
+
: FLYOUT_CLOSED_STATE;
|
|
517
543
|
}
|
|
518
544
|
animationDone(event) {
|
|
519
545
|
if (event.toState === FLYOUT_OPEN_STATE) {
|
|
@@ -607,6 +633,7 @@ class SkyFlyoutComponent {
|
|
|
607
633
|
return instance;
|
|
608
634
|
}
|
|
609
635
|
handleIncomingMessages(message) {
|
|
636
|
+
var _a;
|
|
610
637
|
/* tslint:disable-next-line:switch-default */
|
|
611
638
|
switch (message.type) {
|
|
612
639
|
case SkyFlyoutMessageType.Open:
|
|
@@ -614,10 +641,21 @@ class SkyFlyoutComponent {
|
|
|
614
641
|
this.isOpen = false;
|
|
615
642
|
this.isOpening = true;
|
|
616
643
|
}
|
|
644
|
+
this.initFocusTrap();
|
|
617
645
|
break;
|
|
618
646
|
case SkyFlyoutMessageType.Close:
|
|
619
|
-
this.
|
|
620
|
-
|
|
647
|
+
if (this.flyoutInstance.beforeClose.observers.length ===
|
|
648
|
+
0 ||
|
|
649
|
+
((_a = message.data) === null || _a === void 0 ? void 0 : _a.ignoreBeforeClose)) {
|
|
650
|
+
this.isOpen = true;
|
|
651
|
+
this.isOpening = false;
|
|
652
|
+
}
|
|
653
|
+
else {
|
|
654
|
+
this.flyoutInstance.beforeClose.next(new SkyFlyoutBeforeCloseHandler(() => {
|
|
655
|
+
this.isOpen = true;
|
|
656
|
+
this.isOpening = false;
|
|
657
|
+
}));
|
|
658
|
+
}
|
|
621
659
|
break;
|
|
622
660
|
case SkyFlyoutMessageType.EnableIteratorNextButton:
|
|
623
661
|
this.config.iteratorNextButtonDisabled = false;
|
|
@@ -730,13 +768,31 @@ class SkyFlyoutComponent {
|
|
|
730
768
|
}
|
|
731
769
|
}
|
|
732
770
|
}
|
|
771
|
+
/** Executes a function when the zone is stable. */
|
|
772
|
+
_executeOnStable(fn) {
|
|
773
|
+
if (this._ngZone.isStable) {
|
|
774
|
+
fn();
|
|
775
|
+
}
|
|
776
|
+
else {
|
|
777
|
+
this._ngZone.onStable.pipe(take(1)).subscribe(fn);
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
initFocusTrap() {
|
|
781
|
+
this.enableTrapFocusAutoCapture = false;
|
|
782
|
+
this.enableTrapFocus = false;
|
|
783
|
+
// Waiting for zone to be stable will avoid ExpressionChangeAfterCheckedError.
|
|
784
|
+
this._executeOnStable(() => {
|
|
785
|
+
this.enableTrapFocusAutoCapture = true;
|
|
786
|
+
this.enableTrapFocus = true;
|
|
787
|
+
});
|
|
788
|
+
}
|
|
733
789
|
}
|
|
734
|
-
SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutComponent, deps: [{ token: SkyFlyoutAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i2$1.SkyLibResourcesService }, { token: SkyFlyoutMediaQueryService }, { token: i0.ElementRef }, { token: i1.SkyUIConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
790
|
+
SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutComponent, deps: [{ token: SkyFlyoutAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i2$1.SkyLibResourcesService }, { token: SkyFlyoutMediaQueryService }, { token: i0.ElementRef }, { token: i1.SkyUIConfigService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
735
791
|
SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyFlyoutComponent, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [
|
|
736
792
|
SkyFlyoutAdapterService,
|
|
737
793
|
SkyFlyoutMediaQueryService,
|
|
738
794
|
{ provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService },
|
|
739
|
-
], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config?.ariaRole\"\n [attr.aria-describedby]=\"config?.ariaDescribedBy\"\n [attr.aria-labelledby]=\"config?.ariaLabelledBy\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n
|
|
795
|
+
], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutCloseButton", first: true, predicate: ["flyoutCloseButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "flyoutContent", first: true, predicate: ["flyoutContent"], descendants: true, read: ElementRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config?.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config?.ariaDescribedBy\"\n [attr.aria-label]=\"config?.ariaLabel\"\n [attr.aria-labelledby]=\"config?.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config?.ariaRole === 'dialog' || !config?.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n>\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"\n sky-btn\n sky-btn-icon-borderless\n sky-margin-inline-sm\n sky-flyout-header-grab-handle\n \"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" iconType=\"skyux\" size=\"lg\"> </sky-icon>\n </button>\n\n <sky-flyout-iterator\n *ngIf=\"config.showIterator\"\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n >\n </sky-flyout-iterator>\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\"> </ng-container>\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\"> </ng-container>\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n #flyoutCloseButton\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\" #flyoutContent>\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n <ng-template [ngIf]=\"permalink\">\n <ng-template [ngIf]=\"permalink.url\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n <ng-template [ngIf]=\"permalink.route\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n </ng-template>\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n <ng-template [ngIf]=\"primaryAction && primaryAction.callback\">\n <button\n type=\"button\"\n class=\"\n sky-btn\n sky-btn-default\n sky-flyout-btn-primary-action\n sky-margin-inline-default\n \"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n </ng-template>\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;border-left:6px solid #0974a1;z-index:1001}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:100%;background:#eeeeef;height:50px;display:flex;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"], components: [{ type: i1$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i9.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"] }, { type: i2$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "skyLibResources": i2$1.SkyLibResourcesPipe }, animations: [
|
|
740
796
|
trigger('flyoutState', [
|
|
741
797
|
state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),
|
|
742
798
|
state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),
|
|
@@ -772,7 +828,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
772
828
|
// Allow automatic change detection for child components.
|
|
773
829
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
774
830
|
}]
|
|
775
|
-
}], ctorParameters: function () { return [{ type: SkyFlyoutAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i2$1.SkyLibResourcesService }, { type: SkyFlyoutMediaQueryService }, { type: i0.ElementRef }, { type: i1.SkyUIConfigService }]; }, propDecorators: { flyoutRef: [{
|
|
831
|
+
}], ctorParameters: function () { return [{ type: SkyFlyoutAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i2$1.SkyLibResourcesService }, { type: SkyFlyoutMediaQueryService }, { type: i0.ElementRef }, { type: i1.SkyUIConfigService }, { type: i0.NgZone }]; }, propDecorators: { flyoutRef: [{
|
|
776
832
|
type: ViewChild,
|
|
777
833
|
args: ['flyoutRef', {
|
|
778
834
|
read: ElementRef,
|
|
@@ -784,6 +840,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
784
840
|
read: ViewContainerRef,
|
|
785
841
|
static: true,
|
|
786
842
|
}]
|
|
843
|
+
}], flyoutCloseButton: [{
|
|
844
|
+
type: ViewChild,
|
|
845
|
+
args: ['flyoutCloseButton', {
|
|
846
|
+
read: ElementRef,
|
|
847
|
+
static: true,
|
|
848
|
+
}]
|
|
849
|
+
}], flyoutContent: [{
|
|
850
|
+
type: ViewChild,
|
|
851
|
+
args: ['flyoutContent', {
|
|
852
|
+
read: ElementRef,
|
|
853
|
+
static: true,
|
|
854
|
+
}]
|
|
787
855
|
}], flyoutHeader: [{
|
|
788
856
|
type: ViewChild,
|
|
789
857
|
args: ['flyoutHeader', {
|
|
@@ -798,7 +866,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
798
866
|
class SkyFlyoutModule {
|
|
799
867
|
}
|
|
800
868
|
SkyFlyoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
801
|
-
SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent], imports: [
|
|
869
|
+
SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent], imports: [A11yModule,
|
|
870
|
+
CommonModule,
|
|
802
871
|
FormsModule,
|
|
803
872
|
RouterModule,
|
|
804
873
|
SkyI18nModule,
|
|
@@ -807,6 +876,7 @@ SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
|
|
|
807
876
|
SkyThemeModule,
|
|
808
877
|
SkyHrefModule], exports: [SkyFlyoutComponent] });
|
|
809
878
|
SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, imports: [[
|
|
879
|
+
A11yModule,
|
|
810
880
|
CommonModule,
|
|
811
881
|
FormsModule,
|
|
812
882
|
RouterModule,
|
|
@@ -821,6 +891,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
821
891
|
args: [{
|
|
822
892
|
declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent],
|
|
823
893
|
imports: [
|
|
894
|
+
A11yModule,
|
|
824
895
|
CommonModule,
|
|
825
896
|
FormsModule,
|
|
826
897
|
RouterModule,
|
|
@@ -841,11 +912,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
841
912
|
* document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.
|
|
842
913
|
*/
|
|
843
914
|
class SkyFlyoutService {
|
|
844
|
-
constructor(coreAdapter, windowRef, dynamicComponentService, router) {
|
|
915
|
+
constructor(coreAdapter, windowRef, dynamicComponentService, router, _ngZone, applicationRef) {
|
|
845
916
|
this.coreAdapter = coreAdapter;
|
|
846
917
|
this.windowRef = windowRef;
|
|
847
918
|
this.dynamicComponentService = dynamicComponentService;
|
|
848
919
|
this.router = router;
|
|
920
|
+
this._ngZone = _ngZone;
|
|
921
|
+
this.applicationRef = applicationRef;
|
|
849
922
|
this.removeAfterClosed = false;
|
|
850
923
|
this.isOpening = false;
|
|
851
924
|
this.ngUnsubscribe = new Subject();
|
|
@@ -858,12 +931,16 @@ class SkyFlyoutService {
|
|
|
858
931
|
}
|
|
859
932
|
/**
|
|
860
933
|
* Closes the flyout. This method also removes the flyout's HTML elements from the DOM.
|
|
934
|
+
* @param args Arguments used when closing the flyout.
|
|
861
935
|
*/
|
|
862
|
-
close() {
|
|
936
|
+
close(args) {
|
|
863
937
|
if (this.host && !this.isOpening) {
|
|
864
938
|
this.removeAfterClosed = true;
|
|
865
939
|
this.host.instance.messageStream.next({
|
|
866
940
|
type: SkyFlyoutMessageType.Close,
|
|
941
|
+
data: {
|
|
942
|
+
ignoreBeforeClose: args ? args.ignoreBeforeClose : false,
|
|
943
|
+
},
|
|
867
944
|
});
|
|
868
945
|
}
|
|
869
946
|
}
|
|
@@ -885,6 +962,14 @@ class SkyFlyoutService {
|
|
|
885
962
|
.subscribe((event) => {
|
|
886
963
|
if (event instanceof NavigationStart) {
|
|
887
964
|
this.close();
|
|
965
|
+
// Sanity check - if the host still exists after animations should have completed - remove host
|
|
966
|
+
this._ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
967
|
+
if (this.host) {
|
|
968
|
+
this.removeHostComponent();
|
|
969
|
+
// Without this tick - the host does not actually get removed on initial navigation in this case.
|
|
970
|
+
this.applicationRef.tick();
|
|
971
|
+
}
|
|
972
|
+
});
|
|
888
973
|
}
|
|
889
974
|
});
|
|
890
975
|
}
|
|
@@ -948,7 +1033,7 @@ class SkyFlyoutService {
|
|
|
948
1033
|
});
|
|
949
1034
|
this.removeAfterClosed = false;
|
|
950
1035
|
flyoutInstance.messageStream
|
|
951
|
-
.pipe(
|
|
1036
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
952
1037
|
.subscribe((message) => {
|
|
953
1038
|
if (message.type === SkyFlyoutMessageType.Close) {
|
|
954
1039
|
this.removeAfterClosed = true;
|
|
@@ -969,18 +1054,18 @@ class SkyFlyoutService {
|
|
|
969
1054
|
this.ngUnsubscribe = new Subject();
|
|
970
1055
|
}
|
|
971
1056
|
}
|
|
972
|
-
SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1057
|
+
SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2$2.Router }, { token: i0.NgZone }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
973
1058
|
SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, providedIn: 'any' });
|
|
974
1059
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, decorators: [{
|
|
975
1060
|
type: Injectable,
|
|
976
1061
|
args: [{
|
|
977
1062
|
providedIn: 'any',
|
|
978
1063
|
}]
|
|
979
|
-
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2$2.Router }]; } });
|
|
1064
|
+
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2$2.Router }, { type: i0.NgZone }, { type: i0.ApplicationRef }]; } });
|
|
980
1065
|
|
|
981
1066
|
/**
|
|
982
1067
|
* Generated bundle index. Do not edit.
|
|
983
1068
|
*/
|
|
984
1069
|
|
|
985
|
-
export { SkyFlyoutInstance, SkyFlyoutMessageType, SkyFlyoutModule, SkyFlyoutService, SkyFlyoutComponent as λ1 };
|
|
1070
|
+
export { SkyFlyoutBeforeCloseHandler, SkyFlyoutInstance, SkyFlyoutMessageType, SkyFlyoutModule, SkyFlyoutService, SkyFlyoutComponent as λ1 };
|
|
986
1071
|
//# sourceMappingURL=skyux-flyout.js.map
|