@ngutil/floating 0.0.27
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/README.md +23 -0
- package/esm2022/floating/floating-ref.mjs +81 -0
- package/esm2022/floating/floating.service.mjs +123 -0
- package/esm2022/floating/index.mjs +4 -0
- package/esm2022/floating/traits/_base.mjs +3 -0
- package/esm2022/floating/traits/index.mjs +3 -0
- package/esm2022/floating/traits/position-calc.mjs +17 -0
- package/esm2022/floating/traits/position.mjs +71 -0
- package/esm2022/index.mjs +3 -0
- package/esm2022/layer/backdrop-ref.mjs +50 -0
- package/esm2022/layer/child-ref.mjs +44 -0
- package/esm2022/layer/container-ref.mjs +37 -0
- package/esm2022/layer/index.mjs +5 -0
- package/esm2022/layer/layer.service.mjs +131 -0
- package/esm2022/layer/portal-ref.mjs +52 -0
- package/esm2022/ngutil-floating.mjs +5 -0
- package/fesm2022/ngutil-floating.mjs +588 -0
- package/fesm2022/ngutil-floating.mjs.map +1 -0
- package/floating/floating-ref.d.ts +53 -0
- package/floating/floating.service.d.ts +54 -0
- package/floating/index.d.ts +3 -0
- package/floating/traits/_base.d.ts +6 -0
- package/floating/traits/index.d.ts +2 -0
- package/floating/traits/position-calc.d.ts +26 -0
- package/floating/traits/position.d.ts +52 -0
- package/index.d.ts +2 -0
- package/layer/backdrop-ref.d.ts +30 -0
- package/layer/child-ref.d.ts +22 -0
- package/layer/container-ref.d.ts +17 -0
- package/layer/index.d.ts +4 -0
- package/layer/layer.service.d.ts +28 -0
- package/layer/portal-ref.d.ts +32 -0
- package/package.json +33 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Directive, ElementRef, inject, Inject, InjectionToken, Injector, Optional } from "@angular/core";
|
|
2
|
+
import { toSorted } from "@ngutil/common";
|
|
3
|
+
import { CoverService } from "@ngutil/graphics";
|
|
4
|
+
import { BackdropRef } from "./backdrop-ref";
|
|
5
|
+
import { ContainerRef } from "./container-ref";
|
|
6
|
+
import { ComponentPortalRef, TemplatePortalRef } from "./portal-ref";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export const LAYER_ZINDEX_START = new InjectionToken("LAYER_ZINDEX_START");
|
|
9
|
+
// TODO: ELEVATION_STEP config with injection
|
|
10
|
+
// TODO: ELEVATION_START config with injection
|
|
11
|
+
export class LayerService {
|
|
12
|
+
#cover;
|
|
13
|
+
#injector;
|
|
14
|
+
// readonly #el = this.root.nativeElement
|
|
15
|
+
#children;
|
|
16
|
+
#zIndexStart;
|
|
17
|
+
// readonly #backdrop: Map<>
|
|
18
|
+
constructor(zIndexStart) {
|
|
19
|
+
this.#cover = inject(CoverService);
|
|
20
|
+
this.#injector = inject(Injector);
|
|
21
|
+
this.root = inject(ElementRef);
|
|
22
|
+
// readonly #el = this.root.nativeElement
|
|
23
|
+
this.#children = [];
|
|
24
|
+
if (zIndexStart != null) {
|
|
25
|
+
this.#zIndexStart = zIndexStart;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.#zIndexStart = 10000;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
newComponentPortal(component, options) {
|
|
32
|
+
if (!options.injector) {
|
|
33
|
+
options = { ...options, injector: this.#injector };
|
|
34
|
+
}
|
|
35
|
+
return this.append(new ComponentPortalRef(component, options));
|
|
36
|
+
}
|
|
37
|
+
newTemplatePortal(tpl, options) {
|
|
38
|
+
if (!options.injector) {
|
|
39
|
+
options = { ...options, injector: this.#injector };
|
|
40
|
+
}
|
|
41
|
+
return this.append(new TemplatePortalRef(tpl, options));
|
|
42
|
+
}
|
|
43
|
+
newContainer(options) {
|
|
44
|
+
if (!options.injector) {
|
|
45
|
+
options = { ...options, injector: this.#injector };
|
|
46
|
+
}
|
|
47
|
+
return this.append(new ContainerRef(options));
|
|
48
|
+
}
|
|
49
|
+
newBackdrop(options) {
|
|
50
|
+
return this.append(BackdropRef.from(this.#cover, this.#injector, options));
|
|
51
|
+
}
|
|
52
|
+
append(ref) {
|
|
53
|
+
if (!this.#children.includes(ref)) {
|
|
54
|
+
this.#children.push(ref);
|
|
55
|
+
this.#update();
|
|
56
|
+
this.root.nativeElement.appendChild(ref.nativeElement);
|
|
57
|
+
ref.state.on("disposed", () => this.#remove(ref));
|
|
58
|
+
}
|
|
59
|
+
return ref;
|
|
60
|
+
}
|
|
61
|
+
#remove(ref) {
|
|
62
|
+
const idx = this.#children.indexOf(ref);
|
|
63
|
+
if (idx > -1) {
|
|
64
|
+
this.#children.splice(idx, 1);
|
|
65
|
+
this.#update();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
#update() {
|
|
69
|
+
const children = toSorted(this.#children, sortByBackdrop);
|
|
70
|
+
let zIndex = this.#zIndexStart;
|
|
71
|
+
for (const child of children) {
|
|
72
|
+
child.zIndex = zIndex;
|
|
73
|
+
zIndex += 1;
|
|
74
|
+
}
|
|
75
|
+
children.sort(sortByZIndexDesc);
|
|
76
|
+
let hasBackdrop = false;
|
|
77
|
+
for (const child of children) {
|
|
78
|
+
if (child instanceof BackdropRef && child.options.type === "solid") {
|
|
79
|
+
child.visible = !hasBackdrop;
|
|
80
|
+
hasBackdrop = true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LayerService, deps: [{ token: LAYER_ZINDEX_START, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
85
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.6", type: LayerService, ngImport: i0 }); }
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LayerService, decorators: [{
|
|
88
|
+
type: Directive
|
|
89
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
90
|
+
type: Inject,
|
|
91
|
+
args: [LAYER_ZINDEX_START]
|
|
92
|
+
}, {
|
|
93
|
+
type: Optional
|
|
94
|
+
}] }] });
|
|
95
|
+
export class RootLayer extends LayerService {
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RootLayer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
97
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.6", type: RootLayer, isStandalone: true, selector: "body", providers: [{ provide: LayerService, useExisting: RootLayer }], exportAs: ["nuRootLayer"], usesInheritance: true, ngImport: i0 }); }
|
|
98
|
+
}
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RootLayer, decorators: [{
|
|
100
|
+
type: Directive,
|
|
101
|
+
args: [{
|
|
102
|
+
selector: "body",
|
|
103
|
+
exportAs: "nuRootLayer",
|
|
104
|
+
standalone: true,
|
|
105
|
+
providers: [{ provide: LayerService, useExisting: RootLayer }]
|
|
106
|
+
}]
|
|
107
|
+
}] });
|
|
108
|
+
export class IndividualLayer extends LayerService {
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: IndividualLayer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
110
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.6", type: IndividualLayer, isStandalone: true, providers: [{ provide: LayerService, useExisting: IndividualLayer }], usesInheritance: true, ngImport: i0 }); }
|
|
111
|
+
}
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: IndividualLayer, decorators: [{
|
|
113
|
+
type: Directive,
|
|
114
|
+
args: [{
|
|
115
|
+
standalone: true,
|
|
116
|
+
providers: [{ provide: LayerService, useExisting: IndividualLayer }]
|
|
117
|
+
}]
|
|
118
|
+
}] });
|
|
119
|
+
function sortByBackdrop(a, b) {
|
|
120
|
+
if (a instanceof BackdropRef && a.under === b) {
|
|
121
|
+
return -1;
|
|
122
|
+
}
|
|
123
|
+
else if (b instanceof BackdropRef && b.under === a) {
|
|
124
|
+
return 1;
|
|
125
|
+
}
|
|
126
|
+
return 0;
|
|
127
|
+
}
|
|
128
|
+
function sortByZIndexDesc(a, b) {
|
|
129
|
+
return b.zIndex - a.zIndex;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWUsTUFBTSxlQUFlLENBQUE7QUFFdEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUvQyxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTdELE9BQU8sRUFBb0IsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUEwQixrQkFBa0IsRUFBeUIsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7O0FBRW5ILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFTLG9CQUFvQixDQUFDLENBQUE7QUFFbEYsNkNBQTZDO0FBQzdDLDhDQUE4QztBQUc5QyxNQUFNLE9BQWdCLFlBQVk7SUFDckIsTUFBTSxDQUF1QjtJQUM3QixTQUFTLENBQW1CO0lBR3JDLHlDQUF5QztJQUVoQyxTQUFTLENBQXNCO0lBQy9CLFlBQVksQ0FBUTtJQUM3Qiw0QkFBNEI7SUFFNUIsWUFBb0QsV0FBb0I7UUFWL0QsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM3QixjQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRTVCLFNBQUksR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFBO1FBQzNELHlDQUF5QztRQUVoQyxjQUFTLEdBQW9CLEVBQUUsQ0FBQTtRQUtwQyxJQUFJLFdBQVcsSUFBSSxJQUFJLEVB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QUFFLFlBQVksRUFBRSxXQUFXLGlCQUFpQixFQUFFLENBQUM7aUJBQ3ZFOztBQUdELFNBQVMsY0FBYyxDQUFDLENBQVcsRUFBRSxDQUFXO0lBQzVDLElBQUksQ0FBQyxZQUFZLFdBQVcsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDYixDQUFDO1NBQU0sSUFBSSxDQUFDLFlBQVksV0FBVyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkQsT0FBTyxDQUFDLENBQUE7SUFDWixDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUE7QUFDWixDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFXLEVBQUUsQ0FBVztJQUM5QyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3QsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgT3B0aW9uYWwsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyB0b1NvcnRlZCB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5pbXBvcnQgeyBDb3ZlclNlcnZpY2UgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5cbmltcG9ydCB7IEJhY2tkcm9wT3B0aW9ucywgQmFja2Ryb3BSZWYgfSBmcm9tIFwiLi9iYWNrZHJvcC1yZWZcIlxuaW1wb3J0IHsgQ2hpbGRSZWYgfSBmcm9tIFwiLi9jaGlsZC1yZWZcIlxuaW1wb3J0IHsgQ29udGFpbmVyT3B0aW9ucywgQ29udGFpbmVyUmVmIH0gZnJvbSBcIi4vY29udGFpbmVyLXJlZlwiXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWxPcHRpb25zLCBDb21wb25lbnRQb3J0YWxSZWYsIFRlbXBsYXRlUG9ydGFsT3B0aW9ucywgVGVtcGxhdGVQb3J0YWxSZWYgfSBmcm9tIFwiLi9wb3J0YWwtcmVmXCJcblxuZXhwb3J0IGNvbnN0IExBWUVSX1pJTkRFWF9TVEFSVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxudW1iZXI+KFwiTEFZRVJfWklOREVYX1NUQVJUXCIpXG5cbi8vIFRPRE86IEVMRVZBVElPTl9TVEVQIGNvbmZpZyB3aXRoIGluamVjdGlvblxuLy8gVE9ETzogRUxFVkFUSU9OX1NUQVJUIGNvbmZpZyB3aXRoIGluamVjdGlvblxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMYXllclNlcnZpY2Uge1xuICAgIHJlYWRvbmx5ICNjb3ZlciA9IGluamVjdChDb3ZlclNlcnZpY2UpXG4gICAgcmVhZG9ubHkgI2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKVxuXG4gICAgcmVhZG9ubHkgcm9vdCA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZilcbiAgICAvLyByZWFkb25seSAjZWwgPSB0aGlzLnJvb3QubmF0aXZlRWxlbWVudFxuXG4gICAgcmVhZG9ubHkgI2NoaWxkcmVuOiBBcnJheTxDaGlsZFJlZj4gPSBbXVxuICAgIHJlYWRvbmx5ICN6SW5kZXhTdGFydDogbnVtYmVyXG4gICAgLy8gcmVhZG9ubHkgI2JhY2tkcm9wOiBNYXA8PlxuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMQVlFUl9aSU5ERVhfU1RBUlQpIEBPcHRpb25hbCgpIHpJbmRleFN0YXJ0PzogbnVtYmVyKSB7XG4gICAgICAgIGlmICh6SW5kZXhTdGFydCAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLiN6SW5kZXhTdGFydCA9IHpJbmRleFN0YXJ0XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLiN6SW5kZXhTdGFydCA9IDEwMDAwXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdDb21wb25lbnRQb3J0YWw8VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBvcHRpb25zOiBDb21wb25lbnRQb3J0YWxPcHRpb25zPFQ+KTogQ29tcG9uZW50UG9ydGFsUmVmPFQ+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jaW5qZWN0b3IgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChuZXcgQ29tcG9uZW50UG9ydGFsUmVmKGNvbXBvbmVudCwgb3B0aW9ucykpXG4gICAgfVxuXG4gICAgbmV3VGVtcGxhdGVQb3J0YWw8VD4odHBsOiBUZW1wbGF0ZVJlZjxUPiwgb3B0aW9uczogVGVtcGxhdGVQb3J0YWxPcHRpb25zPFQ+KTogVGVtcGxhdGVQb3J0YWxSZWY8VD4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMuaW5qZWN0b3IpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIGluamVjdG9yOiB0aGlzLiNpbmplY3RvciB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwZW5kKG5ldyBUZW1wbGF0ZVBvcnRhbFJlZih0cGwsIG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld0NvbnRhaW5lcihvcHRpb25zOiBDb250YWluZXJPcHRpb25zKTogQ29udGFpbmVyUmVmIHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jaW5qZWN0b3IgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChuZXcgQ29udGFpbmVyUmVmKG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld0JhY2tkcm9wKG9wdGlvbnM6IEJhY2tkcm9wT3B0aW9ucyk6IEJhY2tkcm9wUmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwZW5kKEJhY2tkcm9wUmVmLmZyb20odGhpcy4jY292ZXIsIHRoaXMuI2luamVjdG9yLCBvcHRpb25zKSlcbiAgICB9XG5cbiAgICBhcHBlbmQ8VCBleHRlbmRzIENoaWxkUmVmPihyZWY6IFQpOiBUIHtcbiAgICAgICAgaWYgKCF0aGlzLiNjaGlsZHJlbi5pbmNsdWRlcyhyZWYpKSB7XG4gICAgICAgICAgICB0aGlzLiNjaGlsZHJlbi5wdXNoKHJlZilcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZSgpXG4gICAgICAgICAgICB0aGlzLnJvb3QubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChyZWYubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgIHJlZi5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IHRoaXMuI3JlbW92ZShyZWYpKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWZcbiAgICB9XG5cbiAgICAjcmVtb3ZlKHJlZjogQ2hpbGRSZWYpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gdGhpcy4jY2hpbGRyZW4uaW5kZXhPZihyZWYpXG4gICAgICAgIGlmIChpZHggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy4jY2hpbGRyZW4uc3BsaWNlKGlkeCwgMSlcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZSgpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdXBkYXRlKCkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHRvU29ydGVkKHRoaXMuI2NoaWxkcmVuLCBzb3J0QnlCYWNrZHJvcClcblxuICAgICAgICBsZXQgekluZGV4ID0gdGhpcy4jekluZGV4U3RhcnRcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgY2hpbGQuekluZGV4ID0gekluZGV4XG4gICAgICAgICAgICB6SW5kZXggKz0gMVxuICAgICAgICB9XG5cbiAgICAgICAgY2hpbGRyZW4uc29ydChzb3J0QnlaSW5kZXhEZXNjKVxuXG4gICAgICAgIGxldCBoYXNCYWNrZHJvcCA9IGZhbHNlXG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmICYmIGNoaWxkLm9wdGlvbnMudHlwZSA9PT0gXCJzb2xpZFwiKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQudmlzaWJsZSA9ICFoYXNCYWNrZHJvcFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJib2R5XCIsXG4gICAgZXhwb3J0QXM6IFwibnVSb290TGF5ZXJcIixcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTGF5ZXJTZXJ2aWNlLCB1c2VFeGlzdGluZzogUm9vdExheWVyIH1dXG59KVxuZXhwb3J0IGNsYXNzIFJvb3RMYXllciBleHRlbmRzIExheWVyU2VydmljZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTGF5ZXJTZXJ2aWNlLCB1c2VFeGlzdGluZzogSW5kaXZpZHVhbExheWVyIH1dXG59KVxuZXhwb3J0IGNsYXNzIEluZGl2aWR1YWxMYXllciBleHRlbmRzIExheWVyU2VydmljZSB7fVxuXG5mdW5jdGlvbiBzb3J0QnlCYWNrZHJvcChhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICBpZiAoYSBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmICYmIGEudW5kZXIgPT09IGIpIHtcbiAgICAgICAgcmV0dXJuIC0xXG4gICAgfSBlbHNlIGlmIChiIGluc3RhbmNlb2YgQmFja2Ryb3BSZWYgJiYgYi51bmRlciA9PT0gYSkge1xuICAgICAgICByZXR1cm4gMVxuICAgIH1cbiAgICByZXR1cm4gMFxufVxuXG5mdW5jdGlvbiBzb3J0QnlaSW5kZXhEZXNjKGE6IENoaWxkUmVmLCBiOiBDaGlsZFJlZikge1xuICAgIHJldHVybiBiLnpJbmRleCAtIGEuekluZGV4XG59XG4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ComponentPortal, DomPortalOutlet, TemplatePortal } from "@angular/cdk/portal";
|
|
2
|
+
import { ComponentFactoryResolver, ViewContainerRef } from "@angular/core";
|
|
3
|
+
import { ContainerRef } from "./container-ref";
|
|
4
|
+
export class PortalRef extends ContainerRef {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
super(options);
|
|
7
|
+
this.injectorName = "PortalRef";
|
|
8
|
+
this.outlet = new DomPortalOutlet(this.nativeElement, undefined, undefined, this.injector);
|
|
9
|
+
this.state.on("disposed", () => {
|
|
10
|
+
this.outlet.dispose();
|
|
11
|
+
delete this.outlet;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
getProviders() {
|
|
15
|
+
return [...super.getProviders(), { provide: PortalRef, useValue: this }];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class ComponentPortalRef extends PortalRef {
|
|
19
|
+
constructor(component, options) {
|
|
20
|
+
super(options);
|
|
21
|
+
this.component = component;
|
|
22
|
+
this.injectorName = "ComponentPortalRef";
|
|
23
|
+
const resolver = this.injector.get(ComponentFactoryResolver);
|
|
24
|
+
const vcr = this.injector.get(ViewContainerRef);
|
|
25
|
+
this.portal = new ComponentPortal(component, options.viewContainerRef || vcr, this.injector, resolver);
|
|
26
|
+
this.outlet.attach(this.portal);
|
|
27
|
+
this.state.on("disposed", () => {
|
|
28
|
+
this.portal.isAttached && this.portal.detach();
|
|
29
|
+
delete this.portal;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
getProviders() {
|
|
33
|
+
return [...super.getProviders(), { provide: ComponentPortalRef, useValue: this }];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class TemplatePortalRef extends PortalRef {
|
|
37
|
+
constructor(template, options) {
|
|
38
|
+
super(options);
|
|
39
|
+
this.template = template;
|
|
40
|
+
this.injectorName = "TemplatePortalRef";
|
|
41
|
+
this.portal = new TemplatePortal(template, options.viewContainerRef, options.context);
|
|
42
|
+
this.outlet.attach(this.portal);
|
|
43
|
+
this.state.on("disposed", () => {
|
|
44
|
+
this.portal.isAttached && this.portal.detach();
|
|
45
|
+
delete this.portal;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getProviders() {
|
|
49
|
+
return [...super.getProviders(), { provide: TemplatePortalRef, useValue: this }];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9wb3J0YWwtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWlCLGVBQWUsRUFBZ0IsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDbkgsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVqRyxPQUFPLEVBQW9CLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBSWhFLE1BQU0sT0FBZ0IsU0FBVSxTQUFRLFlBQVk7SUFJaEQsWUFBWSxPQUFzQjtRQUM5QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFKQyxpQkFBWSxHQUFHLFdBQVcsQ0FBQTtRQU16QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDMUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ3JCLE9BQVEsSUFBWSxDQUFDLE1BQU0sQ0FBQTtRQUMvQixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFa0IsWUFBWTtRQUMzQixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzVFLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxrQkFBNEIsU0FBUSxTQUFTO0lBSXRELFlBQ29CLFNBQTJCLEVBQzNDLE9BQWtDO1FBRWxDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUhFLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBSjVCLGlCQUFZLEdBQUcsb0JBQW9CLENBQUE7UUFTbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUM1RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRS9DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUN0RyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFBO1lBQzlDLE9BQVEsSUFBWSxDQUFDLE1BQU0sQ0FBQTtRQUMvQixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFa0IsWUFBWTtRQUMzQixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFDckYsQ0FBQztDQUNKO0FBT0QsTUFBTSxPQUFPLGlCQUEyQixTQUFRLFNBQVM7SUFJckQsWUFDb0IsUUFBd0IsRUFDeEMsT0FBaUM7UUFFakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBSEUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFKekIsaUJBQVksR0FBRyxtQkFBbUIsQ0FBQTtRQVFqRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3JGLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUUvQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUE7WUFDOUMsT0FBUSxJQUFZLENBQUMsTUFBTSxDQUFBO1FBQy9CLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVrQixZQUFZO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNwRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENvbXBvbmVudFR5cGUsIERvbVBvcnRhbE91dGxldCwgUG9ydGFsT3V0bGV0LCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCJcbmltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgUHJvdmlkZXIsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBDb250YWluZXJPcHRpb25zLCBDb250YWluZXJSZWYgfSBmcm9tIFwiLi9jb250YWluZXItcmVmXCJcblxuZXhwb3J0IGludGVyZmFjZSBQb3J0YWxPcHRpb25zIGV4dGVuZHMgQ29udGFpbmVyT3B0aW9ucyB7fVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9ydGFsUmVmIGV4dGVuZHMgQ29udGFpbmVyUmVmIHtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW5qZWN0b3JOYW1lID0gXCJQb3J0YWxSZWZcIlxuICAgIHByb3RlY3RlZCBvdXRsZXQ6IFBvcnRhbE91dGxldFxuXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogUG9ydGFsT3B0aW9ucykge1xuICAgICAgICBzdXBlcihvcHRpb25zKVxuXG4gICAgICAgIHRoaXMub3V0bGV0ID0gbmV3IERvbVBvcnRhbE91dGxldCh0aGlzLm5hdGl2ZUVsZW1lbnQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0aGlzLmluamVjdG9yKVxuICAgICAgICB0aGlzLnN0YXRlLm9uKFwiZGlzcG9zZWRcIiwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vdXRsZXQuZGlzcG9zZSgpXG4gICAgICAgICAgICBkZWxldGUgKHRoaXMgYXMgYW55KS5vdXRsZXRcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0UHJvdmlkZXJzKCk6IFByb3ZpZGVyW10ge1xuICAgICAgICByZXR1cm4gWy4uLnN1cGVyLmdldFByb3ZpZGVycygpLCB7IHByb3ZpZGU6IFBvcnRhbFJlZiwgdXNlVmFsdWU6IHRoaXMgfV1cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50UG9ydGFsT3B0aW9uczxUID0gYW55PiBleHRlbmRzIFBvcnRhbE9wdGlvbnMge1xuICAgIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmXG59XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRQb3J0YWxSZWY8VCA9IGFueT4gZXh0ZW5kcyBQb3J0YWxSZWYge1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSBpbmplY3Rvck5hbWUgPSBcIkNvbXBvbmVudFBvcnRhbFJlZlwiXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPixcbiAgICAgICAgb3B0aW9uczogQ29tcG9uZW50UG9ydGFsT3B0aW9uczxUPlxuICAgICkge1xuICAgICAgICBzdXBlcihvcHRpb25zKVxuXG4gICAgICAgIGNvbnN0IHJlc29sdmVyID0gdGhpcy5pbmplY3Rvci5nZXQoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKVxuICAgICAgICBjb25zdCB2Y3IgPSB0aGlzLmluamVjdG9yLmdldChWaWV3Q29udGFpbmVyUmVmKVxuXG4gICAgICAgIHRoaXMucG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIG9wdGlvbnMudmlld0NvbnRhaW5lclJlZiB8fCB2Y3IsIHRoaXMuaW5qZWN0b3IsIHJlc29sdmVyKVxuICAgICAgICB0aGlzLm91dGxldC5hdHRhY2godGhpcy5wb3J0YWwpXG5cbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucG9ydGFsLmlzQXR0YWNoZWQgJiYgdGhpcy5wb3J0YWwuZGV0YWNoKClcbiAgICAgICAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpLnBvcnRhbFxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBnZXRQcm92aWRlcnMoKTogUHJvdmlkZXJbXSB7XG4gICAgICAgIHJldHVybiBbLi4uc3VwZXIuZ2V0UHJvdmlkZXJzKCksIHsgcHJvdmlkZTogQ29tcG9uZW50UG9ydGFsUmVmLCB1c2VWYWx1ZTogdGhpcyB9XVxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZW1wbGF0ZVBvcnRhbE9wdGlvbnM8VCA9IGFueT4gZXh0ZW5kcyBQb3J0YWxPcHRpb25zIHtcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICAgY29udGV4dD86IFRcbn1cblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlUG9ydGFsUmVmPFQgPSBhbnk+IGV4dGVuZHMgUG9ydGFsUmVmIHtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW5qZWN0b3JOYW1lID0gXCJUZW1wbGF0ZVBvcnRhbFJlZlwiXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBvcnRhbDogVGVtcGxhdGVQb3J0YWw8VD5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPFQ+LFxuICAgICAgICBvcHRpb25zOiBUZW1wbGF0ZVBvcnRhbE9wdGlvbnM8VD5cbiAgICApIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucylcbiAgICAgICAgdGhpcy5wb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGUsIG9wdGlvbnMudmlld0NvbnRhaW5lclJlZiwgb3B0aW9ucy5jb250ZXh0KVxuICAgICAgICB0aGlzLm91dGxldC5hdHRhY2godGhpcy5wb3J0YWwpXG5cbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucG9ydGFsLmlzQXR0YWNoZWQgJiYgdGhpcy5wb3J0YWwuZGV0YWNoKClcbiAgICAgICAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpLnBvcnRhbFxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBnZXRQcm92aWRlcnMoKTogUHJvdmlkZXJbXSB7XG4gICAgICAgIHJldHVybiBbLi4uc3VwZXIuZ2V0UHJvdmlkZXJzKCksIHsgcHJvdmlkZTogVGVtcGxhdGVQb3J0YWxSZWYsIHVzZVZhbHVlOiB0aGlzIH1dXG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd1dGlsLWZsb2F0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL25ndXRpbC1mbG9hdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|