@libs-ui/services-dynamic-component 0.2.248 → 0.2.250
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.
|
@@ -5,9 +5,12 @@ export declare class LibsUiDynamicComponentService {
|
|
|
5
5
|
private elementBody;
|
|
6
6
|
private mapStylesToParentDocument;
|
|
7
7
|
private appRef;
|
|
8
|
+
private idElementLayoutContentDefault;
|
|
9
|
+
set IdElementLayoutContentDefault(id: string);
|
|
8
10
|
resolveComponentFactory(component: any): ComponentRef<any>;
|
|
9
11
|
addToBody(componentRef: any, isAddParentDocument?: boolean): string;
|
|
10
12
|
addToElement(componentRef: any, elementAdd: any): any;
|
|
13
|
+
addToElementLayoutContentDefault(componentRef: any, id?: string): void;
|
|
11
14
|
addToIdAttributeElement(componentRef: any, id: string): HTMLElement | undefined;
|
|
12
15
|
remove(componentRef: any, frameId?: string, ignoreDestroyComponent?: boolean): void;
|
|
13
16
|
private updateStyleToParentDocument;
|
|
@@ -3,10 +3,14 @@ import { ApplicationRef, Injectable, createComponent, inject } from '@angular/co
|
|
|
3
3
|
import { uuid } from '@libs-ui/utils';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class LibsUiDynamicComponentService {
|
|
6
|
-
elementLayoutContent;
|
|
6
|
+
elementLayoutContent = new Map();
|
|
7
7
|
elementBody;
|
|
8
8
|
mapStylesToParentDocument = new Map();
|
|
9
9
|
appRef = inject(ApplicationRef);
|
|
10
|
+
idElementLayoutContentDefault = 'libs-ui-layout-content';
|
|
11
|
+
set IdElementLayoutContentDefault(id) {
|
|
12
|
+
this.idElementLayoutContentDefault = id;
|
|
13
|
+
}
|
|
10
14
|
resolveComponentFactory(component) {
|
|
11
15
|
return createComponent(component, { environmentInjector: this.appRef.injector });
|
|
12
16
|
}
|
|
@@ -34,16 +38,19 @@ export class LibsUiDynamicComponentService {
|
|
|
34
38
|
const domElem = componentRef.hostView.rootNodes[0];
|
|
35
39
|
return elementAdd.appendChild(domElem);
|
|
36
40
|
}
|
|
41
|
+
addToElementLayoutContentDefault(componentRef, id = this.idElementLayoutContentDefault) {
|
|
42
|
+
this.addToIdAttributeElement(componentRef, id);
|
|
43
|
+
}
|
|
37
44
|
addToIdAttributeElement(componentRef, id) {
|
|
38
|
-
if (!this.elementLayoutContent) {
|
|
39
|
-
this.elementLayoutContent
|
|
45
|
+
if (!this.elementLayoutContent.has(id)) {
|
|
46
|
+
this.elementLayoutContent.set(id, document.getElementById(id));
|
|
40
47
|
}
|
|
41
48
|
if (!componentRef || !componentRef.hostView) {
|
|
42
49
|
return;
|
|
43
50
|
}
|
|
44
51
|
this.appRef.attachView(componentRef.hostView);
|
|
45
52
|
const domElem = componentRef.hostView.rootNodes[0];
|
|
46
|
-
return this.elementLayoutContent?.appendChild(domElem);
|
|
53
|
+
return this.elementLayoutContent.get(id)?.appendChild(domElem);
|
|
47
54
|
}
|
|
48
55
|
remove(componentRef, frameId = '', ignoreDestroyComponent) {
|
|
49
56
|
if (!componentRef) {
|
|
@@ -94,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
94
101
|
providedIn: 'root'
|
|
95
102
|
}]
|
|
96
103
|
}] });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvZHluYW1pYy1jb21wb25lbnQvc3JjL2R5bmFtaWMtY29tcG9uZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQWlDLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLdEMsTUFBTSxPQUFPLDZCQUE2QjtJQUNoQyxvQkFBb0IsQ0FBc0I7SUFDMUMsV0FBVyxDQUFzQjtJQUNqQyx5QkFBeUIsR0FBNkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNoRSxNQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRWpDLHVCQUF1QixDQUFDLFNBQWM7UUFDM0MsT0FBTyxlQUFlLENBQUMsU0FBUyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxTQUFTLENBQUMsWUFBaUIsRUFBRSxtQkFBNkI7UUFDL0QsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQUksWUFBWSxDQUFDLFFBQWlDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztRQUU1RixJQUFJLG1CQUFtQixFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdB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YSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLDJCQUEyQixDQUFDLE9BQWU7UUFDakQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRTlDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDakUsT0FBTztRQUNULENBQUM7UUFDRCxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hDLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO3dHQXBHVSw2QkFBNkI7NEdBQTdCLDZCQUE2QixjQUg1QixNQUFNOzs0RkFHUCw2QkFBNkI7a0JBSnpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLCBJbmplY3RhYmxlLCBjcmVhdGVDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG5leHBvcnQgY2xhc3MgTGlic1VpRHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xuICBwcml2YXRlIGVsZW1lbnRMYXlvdXRDb250ZW50ITogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBwcml2YXRlIGVsZW1lbnRCb2R5ITogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBwcml2YXRlIG1hcFN0eWxlc1RvUGFyZW50RG9jdW1lbnQ6IE1hcDxzdHJpbmcsIEFycmF5PE5vZGU+PiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBhcHBSZWYgPSBpbmplY3QoQXBwbGljYXRpb25SZWYpO1xuXG4gIHB1YmxpYyByZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQ6IGFueSk6IENvbXBvbmVudFJlZjxhbnk+IHtcbiAgICByZXR1cm4gY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgeyBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmFwcFJlZi5pbmplY3RvciB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0JvZHkoY29tcG9uZW50UmVmOiBhbnksIGlzQWRkUGFyZW50RG9jdW1lbnQ/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbXBvbmVudFJlZiB8fCAhY29tcG9uZW50UmVmLmhvc3RWaWV3KSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoaXNBZGRQYXJlbnREb2N1bWVudCkge1xuICAgICAgd2luZG93LnBhcmVudC5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG4gICAgICByZXR1cm4gdGhpcy51cGRhdGVTdHlsZVRvUGFyZW50RG9jdW1lbnQoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmVsZW1lbnRCb2R5KSB7XG4gICAgICB0aGlzLmVsZW1lbnRCb2R5ID0gZG9jdW1lbnQuYm9keTtcbiAgICB9XG4gICAgdGhpcy5lbGVtZW50Qm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0VsZW1lbnQoY29tcG9uZW50UmVmOiBhbnksIGVsZW1lbnRBZGQ6IGFueSkge1xuICAgIGlmICghY29tcG9uZW50UmVmIHx8ICFjb21wb25lbnRSZWYuaG9zdFZpZXcgfHwgIWVsZW1lbnRBZGQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICByZXR1cm4gZWxlbWVudEFkZC5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0lkQXR0cmlidXRlRWxlbWVudChjb21wb25lbnRSZWY6IGFueSwgaWQ6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5lbGVtZW50TGF5b3V0Q29udGVudCkge1xuICAgICAgdGhpcy5lbGVtZW50TGF5b3V0Q29udGVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICB9XG4gICAgaWYgKCFjb21wb25lbnRSZWYgfHwgIWNvbXBvbmVudFJlZi5ob3N0Vmlldykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRMYXlvdXRDb250ZW50Py5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmUoY29tcG9uZW50UmVmOiBhbnksIGZyYW1lSWQgPSAnJywgaWdub3JlRGVzdHJveUNvbXBvbmVudD86IGJvb2xlYW4pIHtcbiAgICBpZiAoIWNvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJlbW92ZVN0eWxlVG9QYXJlbnREb2N1bWVudChmcmFtZUlkKTtcbiAgICBpZiAoY29tcG9uZW50UmVmLmhvc3RWaWV3KSB7XG4gICAgICB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgfVxuICAgIGlmICghaWdub3JlRGVzdHJveUNvbXBvbmVudCAmJiBjb21wb25lbnRSZWYuZGVzdHJveSkge1xuICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0eWxlVG9QYXJlbnREb2N1bWVudCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZyYW1lSWQgPSB1dWlkKCk7XG4gICAgY29uc3QgZG9jdW1lbnRQYXJlbnQgPSB3aW5kb3cucGFyZW50LmRvY3VtZW50O1xuXG4gICAgaWYgKGRvY3VtZW50UGFyZW50ICYmICF0aGlzLm1hcFN0eWxlc1RvUGFyZW50RG9jdW1lbnQuaGFzKGZyYW1lSWQpKSB7XG4gICAgICBjb25zdCBzdHlsZVRhZ3MgPSBuZXcgQXJyYXk8Tm9kZT4oKTtcblxuICAgICAgQXJyYXkuZnJvbShkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3JBbGwoXCJzdHlsZVwiKSkuZm9yRWFjaChzdHlsZVRhZyA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lU3R5bGVUYWcgPSBzdHlsZVRhZy5jbG9uZU5vZGUodHJ1ZSk7XG5cbiAgICAgICAgc3R5bGVUYWdzLnB1c2goY2xvbmVTdHlsZVRhZyk7XG4gICAgICAgIGRvY3VtZW50UGFyZW50Py5oZWFkLmFwcGVuZENoaWxkKGNsb25lU3R5bGVUYWcpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLm1hcFN0eWxlc1RvUGFyZW50RG9jdW1lbnQuc2V0KGZyYW1lSWQsIHN0eWxlVGFncyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYW1lSWQ7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVN0eWxlVG9QYXJlbnREb2N1bWVudChmcmFtZUlkOiBzdHJpbmcpIHtcbiAgICBpZiAoIWZyYW1lSWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3R5bGVUYWdzUG9wdXAgPSB0aGlzLm1hcFN0eWxlc1RvUGFyZW50RG9jdW1lbnQuZ2V0KGZyYW1lSWQpO1xuICAgIGNvbnN0IGRvY3VtZW50UGFyZW50ID0gd2luZG93LnBhcmVudC5kb2N1bWVudDtcblxuICAgIGlmICghc3R5bGVUYWdzUG9wdXAgfHwgIXN0eWxlVGFnc1BvcHVwLmxlbmd0aCB8fCAhZG9jdW1lbnRQYXJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3R5bGVUYWdzUG9wdXAuZm9yRWFjaChzdHlsZVRhZyA9PiB7XG4gICAgICBkb2N1bWVudFBhcmVudD8uaGVhZC5yZW1vdmVDaGlsZChzdHlsZVRhZyk7XG4gICAgfSk7XG4gICAgdGhpcy5tYXBTdHlsZXNUb1BhcmVudERvY3VtZW50LmRlbGV0ZShmcmFtZUlkKTtcbiAgfVxufSJdfQ==
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvZHluYW1pYy1jb21wb25lbnQvc3JjL2R5bmFtaWMtY29tcG9uZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQWlDLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLdEMsTUFBTSxPQUFPLDZCQUE2QjtJQUNoQyxvQkFBb0IsR0FBNEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxRCxXQUFXLENBQXNCO0lBQ2pDLHlCQUF5QixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2hFLE1BQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEMsNkJBQTZCLEdBQUcsd0JBQXdCLENBQUM7SUFFakUsSUFBVyw2QkFBNkIsQ0FBQyxFQUFVO1FBQ2pELElBQUksQ0FBQyw2QkFBNkIsR0FBRyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFNBQWM7UUFDM0MsT0FBTyxlQUFlLENBQUMsU0FBUyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxTQUFTLENBQUMsWUFBaUIsRUFBRSxtQkFBNkI7UUFDL0QsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdB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SUFDakQsQ0FBQzt3R0E5R1UsNkJBQTZCOzRHQUE3Qiw2QkFBNkIsY0FINUIsTUFBTTs7NEZBR1AsNkJBQTZCO2tCQUp6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRSZWYsIEVtYmVkZGVkVmlld1JlZiwgSW5qZWN0YWJsZSwgY3JlYXRlQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAbGlicy11aS91dGlscyc7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBlbGVtZW50TGF5b3V0Q29udGVudDpNYXA8c3RyaW5nLCBIVE1MRWxlbWVudD4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgZWxlbWVudEJvZHkhOiBIVE1MRWxlbWVudCB8IG51bGw7XG4gIHByaXZhdGUgbWFwU3R5bGVzVG9QYXJlbnREb2N1bWVudDogTWFwPHN0cmluZywgQXJyYXk8Tm9kZT4+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGFwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG4gIHByaXZhdGUgaWRFbGVtZW50TGF5b3V0Q29udGVudERlZmF1bHQgPSAnbGlicy11aS1sYXlvdXQtY29udGVudCc7XG5cbiAgcHVibGljIHNldCBJZEVsZW1lbnRMYXlvdXRDb250ZW50RGVmYXVsdChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5pZEVsZW1lbnRMYXlvdXRDb250ZW50RGVmYXVsdCA9IGlkO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudDogYW55KTogQ29tcG9uZW50UmVmPGFueT4ge1xuICAgIHJldHVybiBjcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7IGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuYXBwUmVmLmluamVjdG9yIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRvQm9keShjb21wb25lbnRSZWY6IGFueSwgaXNBZGRQYXJlbnREb2N1bWVudD86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGlmICghY29tcG9uZW50UmVmIHx8ICFjb21wb25lbnRSZWYuaG9zdFZpZXcpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmIChpc0FkZFBhcmVudERvY3VtZW50KSB7XG4gICAgICB3aW5kb3cucGFyZW50LmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG5cbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZVN0eWxlVG9QYXJlbnREb2N1bWVudCgpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZWxlbWVudEJvZHkpIHtcbiAgICAgIHRoaXMuZWxlbWVudEJvZHkgPSBkb2N1bWVudC5ib2R5O1xuICAgIH1cbiAgICB0aGlzLmVsZW1lbnRCb2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIGFkZFRvRWxlbWVudChjb21wb25lbnRSZWY6IGFueSwgZWxlbWVudEFkZDogYW55KSB7XG4gICAgaWYgKCFjb21wb25lbnRSZWYgfHwgIWNvbXBvbmVudFJlZi5ob3N0VmlldyB8fCAhZWxlbWVudEFkZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIHJldHVybiBlbGVtZW50QWRkLmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRvRWxlbWVudExheW91dENvbnRlbnREZWZhdWx0KGNvbXBvbmVudFJlZjogYW55LCBpZDogc3RyaW5nID0gdGhpcy5pZEVsZW1lbnRMYXlvdXRDb250ZW50RGVmYXVsdCkge1xuICAgdGhpcy5hZGRUb0lkQXR0cmlidXRlRWxlbWVudChjb21wb25lbnRSZWYsIGlkKTtcbiAgfVxuXG5cbiAgcHVibGljIGFkZFRvSWRBdHRyaWJ1dGVFbGVtZW50KGNvbXBvbmVudFJlZjogYW55LCBpZDogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmVsZW1lbnRMYXlvdXRDb250ZW50LmhhcyhpZCkpIHtcbiAgICAgIHRoaXMuZWxlbWVudExheW91dENvbnRlbnQuc2V0KGlkLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH1cbiAgICBpZiAoIWNvbXBvbmVudFJlZiB8fCAhY29tcG9uZW50UmVmLmhvc3RWaWV3KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudExheW91dENvbnRlbnQuZ2V0KGlkKT8uYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGNvbXBvbmVudFJlZjogYW55LCBmcmFtZUlkID0gJycsIGlnbm9yZURlc3Ryb3lDb21wb25lbnQ/OiBib29sZWFuKSB7XG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZW1vdmVTdHlsZVRvUGFyZW50RG9jdW1lbnQoZnJhbWVJZCk7XG4gICAgaWYgKGNvbXBvbmVudFJlZi5ob3N0Vmlldykge1xuICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIH1cbiAgICBpZiAoIWlnbm9yZURlc3Ryb3lDb21wb25lbnQgJiYgY29tcG9uZW50UmVmLmRlc3Ryb3kpIHtcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTdHlsZVRvUGFyZW50RG9jdW1lbnQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBmcmFtZUlkID0gdXVpZCgpO1xuICAgIGNvbnN0IGRvY3VtZW50UGFyZW50ID0gd2luZG93LnBhcmVudC5kb2N1bWVudDtcblxuICAgIGlmIChkb2N1bWVudFBhcmVudCAmJiAhdGhpcy5tYXBTdHlsZXNUb1BhcmVudERvY3VtZW50LmhhcyhmcmFtZUlkKSkge1xuICAgICAgY29uc3Qgc3R5bGVUYWdzID0gbmV3IEFycmF5PE5vZGU+KCk7XG5cbiAgICAgIEFycmF5LmZyb20oZG9jdW1lbnQuaGVhZC5xdWVyeVNlbGVjdG9yQWxsKFwic3R5bGVcIikpLmZvckVhY2goc3R5bGVUYWcgPT4ge1xuICAgICAgICBjb25zdCBjbG9uZVN0eWxlVGFnID0gc3R5bGVUYWcuY2xvbmVOb2RlKHRydWUpO1xuXG4gICAgICAgIHN0eWxlVGFncy5wdXNoKGNsb25lU3R5bGVUYWcpO1xuICAgICAgICBkb2N1bWVudFBhcmVudD8uaGVhZC5hcHBlbmRDaGlsZChjbG9uZVN0eWxlVGFnKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tYXBTdHlsZXNUb1BhcmVudERvY3VtZW50LnNldChmcmFtZUlkLCBzdHlsZVRhZ3MpO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFtZUlkO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVTdHlsZVRvUGFyZW50RG9jdW1lbnQoZnJhbWVJZDogc3RyaW5nKSB7XG4gICAgaWYgKCFmcmFtZUlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0eWxlVGFnc1BvcHVwID0gdGhpcy5tYXBTdHlsZXNUb1BhcmVudERvY3VtZW50LmdldChmcmFtZUlkKTtcbiAgICBjb25zdCBkb2N1bWVudFBhcmVudCA9IHdpbmRvdy5wYXJlbnQuZG9jdW1lbnQ7XG5cbiAgICBpZiAoIXN0eWxlVGFnc1BvcHVwIHx8ICFzdHlsZVRhZ3NQb3B1cC5sZW5ndGggfHwgIWRvY3VtZW50UGFyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN0eWxlVGFnc1BvcHVwLmZvckVhY2goc3R5bGVUYWcgPT4ge1xuICAgICAgZG9jdW1lbnRQYXJlbnQ/LmhlYWQucmVtb3ZlQ2hpbGQoc3R5bGVUYWcpO1xuICAgIH0pO1xuICAgIHRoaXMubWFwU3R5bGVzVG9QYXJlbnREb2N1bWVudC5kZWxldGUoZnJhbWVJZCk7XG4gIH1cbn0iXX0=
|
|
@@ -4,10 +4,14 @@ import { uuid } from '@libs-ui/utils';
|
|
|
4
4
|
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6
6
|
class LibsUiDynamicComponentService {
|
|
7
|
-
elementLayoutContent;
|
|
7
|
+
elementLayoutContent = new Map();
|
|
8
8
|
elementBody;
|
|
9
9
|
mapStylesToParentDocument = new Map();
|
|
10
10
|
appRef = inject(ApplicationRef);
|
|
11
|
+
idElementLayoutContentDefault = 'libs-ui-layout-content';
|
|
12
|
+
set IdElementLayoutContentDefault(id) {
|
|
13
|
+
this.idElementLayoutContentDefault = id;
|
|
14
|
+
}
|
|
11
15
|
resolveComponentFactory(component) {
|
|
12
16
|
return createComponent(component, { environmentInjector: this.appRef.injector });
|
|
13
17
|
}
|
|
@@ -35,16 +39,19 @@ class LibsUiDynamicComponentService {
|
|
|
35
39
|
const domElem = componentRef.hostView.rootNodes[0];
|
|
36
40
|
return elementAdd.appendChild(domElem);
|
|
37
41
|
}
|
|
42
|
+
addToElementLayoutContentDefault(componentRef, id = this.idElementLayoutContentDefault) {
|
|
43
|
+
this.addToIdAttributeElement(componentRef, id);
|
|
44
|
+
}
|
|
38
45
|
addToIdAttributeElement(componentRef, id) {
|
|
39
|
-
if (!this.elementLayoutContent) {
|
|
40
|
-
this.elementLayoutContent
|
|
46
|
+
if (!this.elementLayoutContent.has(id)) {
|
|
47
|
+
this.elementLayoutContent.set(id, document.getElementById(id));
|
|
41
48
|
}
|
|
42
49
|
if (!componentRef || !componentRef.hostView) {
|
|
43
50
|
return;
|
|
44
51
|
}
|
|
45
52
|
this.appRef.attachView(componentRef.hostView);
|
|
46
53
|
const domElem = componentRef.hostView.rootNodes[0];
|
|
47
|
-
return this.elementLayoutContent?.appendChild(domElem);
|
|
54
|
+
return this.elementLayoutContent.get(id)?.appendChild(domElem);
|
|
48
55
|
}
|
|
49
56
|
remove(componentRef, frameId = '', ignoreDestroyComponent) {
|
|
50
57
|
if (!componentRef) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libs-ui-services-dynamic-component.mjs","sources":["../../../../../libs-ui/services/dynamic-component/src/dynamic-component.service.ts","../../../../../libs-ui/services/dynamic-component/src/libs-ui-services-dynamic-component.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ApplicationRef, ComponentRef, EmbeddedViewRef, Injectable, createComponent, inject } from '@angular/core';\nimport { uuid } from '@libs-ui/utils';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LibsUiDynamicComponentService {\n private elementLayoutContent
|
|
1
|
+
{"version":3,"file":"libs-ui-services-dynamic-component.mjs","sources":["../../../../../libs-ui/services/dynamic-component/src/dynamic-component.service.ts","../../../../../libs-ui/services/dynamic-component/src/libs-ui-services-dynamic-component.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ApplicationRef, ComponentRef, EmbeddedViewRef, Injectable, createComponent, inject } from '@angular/core';\nimport { uuid } from '@libs-ui/utils';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LibsUiDynamicComponentService {\n private elementLayoutContent:Map<string, HTMLElement> = new Map();\n private elementBody!: HTMLElement | null;\n private mapStylesToParentDocument: Map<string, Array<Node>> = new Map();\n private appRef = inject(ApplicationRef);\n private idElementLayoutContentDefault = 'libs-ui-layout-content';\n\n public set IdElementLayoutContentDefault(id: string) {\n this.idElementLayoutContentDefault = id;\n }\n\n public resolveComponentFactory(component: any): ComponentRef<any> {\n return createComponent(component, { environmentInjector: this.appRef.injector });\n }\n\n public addToBody(componentRef: any, isAddParentDocument?: boolean): string {\n if (!componentRef || !componentRef.hostView) {\n return '';\n }\n\n this.appRef.attachView(componentRef.hostView);\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n\n if (isAddParentDocument) {\n window.parent.document.body.appendChild(domElem);\n\n return this.updateStyleToParentDocument();\n }\n if (!this.elementBody) {\n this.elementBody = document.body;\n }\n this.elementBody.appendChild(domElem);\n\n return '';\n }\n\n public addToElement(componentRef: any, elementAdd: any) {\n if (!componentRef || !componentRef.hostView || !elementAdd) {\n return;\n }\n this.appRef.attachView(componentRef.hostView);\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n\n return elementAdd.appendChild(domElem);\n }\n\n public addToElementLayoutContentDefault(componentRef: any, id: string = this.idElementLayoutContentDefault) {\n this.addToIdAttributeElement(componentRef, id);\n }\n\n\n public addToIdAttributeElement(componentRef: any, id: string) {\n if (!this.elementLayoutContent.has(id)) {\n this.elementLayoutContent.set(id, document.getElementById(id) as HTMLElement);\n }\n if (!componentRef || !componentRef.hostView) {\n return;\n }\n this.appRef.attachView(componentRef.hostView);\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n\n return this.elementLayoutContent.get(id)?.appendChild(domElem);\n }\n\n public remove(componentRef: any, frameId = '', ignoreDestroyComponent?: boolean) {\n if (!componentRef) {\n return;\n }\n this.removeStyleToParentDocument(frameId);\n if (componentRef.hostView) {\n this.appRef.detachView(componentRef.hostView);\n }\n if (!ignoreDestroyComponent && componentRef.destroy) {\n componentRef.destroy();\n }\n }\n\n private updateStyleToParentDocument(): string {\n const frameId = uuid();\n const documentParent = window.parent.document;\n\n if (documentParent && !this.mapStylesToParentDocument.has(frameId)) {\n const styleTags = new Array<Node>();\n\n Array.from(document.head.querySelectorAll(\"style\")).forEach(styleTag => {\n const cloneStyleTag = styleTag.cloneNode(true);\n\n styleTags.push(cloneStyleTag);\n documentParent?.head.appendChild(cloneStyleTag);\n });\n this.mapStylesToParentDocument.set(frameId, styleTags);\n }\n\n return frameId;\n }\n\n private removeStyleToParentDocument(frameId: string) {\n if (!frameId) {\n return;\n }\n const styleTagsPopup = this.mapStylesToParentDocument.get(frameId);\n const documentParent = window.parent.document;\n\n if (!styleTagsPopup || !styleTagsPopup.length || !documentParent) {\n return;\n }\n styleTagsPopup.forEach(styleTag => {\n documentParent?.head.removeChild(styleTag);\n });\n this.mapStylesToParentDocument.delete(frameId);\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libs-ui/services-dynamic-component",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.250",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/core": "^18.2.0",
|
|
6
|
-
"@libs-ui/utils": "^0.2.
|
|
6
|
+
"@libs-ui/utils": "^0.2.250"
|
|
7
7
|
},
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"module": "fesm2022/libs-ui-services-dynamic-component.mjs",
|