@libs-ui/services-dynamic-component 0.2.350-1 → 0.2.352-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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { ApplicationRef,
|
|
2
|
+
import { ApplicationRef, createComponent, inject, Injectable } from '@angular/core';
|
|
3
3
|
import { isNil } from '@libs-ui/utils';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class LibsUiDynamicComponentService {
|
|
@@ -86,6 +86,9 @@ export class LibsUiDynamicComponentService {
|
|
|
86
86
|
* @deprecated sử dụng hàm ```delete(this.componentRef)```
|
|
87
87
|
*/
|
|
88
88
|
remove(componentRef, _, ignoreDestroyComponent) {
|
|
89
|
+
if (!componentRef) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
89
92
|
this.delete(componentRef, { ignoreDestroyComponent });
|
|
90
93
|
}
|
|
91
94
|
updateStyleToParentDocument(componentRef, timerDelayUpdateStyleToParent) {
|
|
@@ -135,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
135
138
|
providedIn: 'root',
|
|
136
139
|
}]
|
|
137
140
|
}] });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvZHluYW1pYy1jb21wb25lbnQvc3JjL2R5bmFtaWMtY29tcG9uZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQWlDLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFJdkMsTUFBTSxPQUFPLDZCQUE2QjtJQUNoQyxPQUFPLENBQVU7SUFDakIsb0JBQW9CLEdBQTZCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDM0QsV0FBVyxDQUFzQjtJQUNqQyx5QkFBeUIsR0FBNEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNuRixNQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hDLDZCQUE2QixHQUFHLHdCQUF3QixDQUFDO0lBRWpFLElBQVcsNkJBQTZCLENBQUMsRUFBVTtRQUNqRCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxTQUFjO1FBQzNDLE9BQU8sZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU0sU0FBUyxDQUFDLFlBQWdDLEVBQUUsbUJBQTZCLEVBQUUsNkJBQXNDO1FBQ3RILElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEs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RSxTQUFTLENBQUMsQ0FBQztZQUM5RCxDQUFDO1FBQ0gsQ0FBQyxFQUFFLDZCQUE2QixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxZQUErQjtRQUNqRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRTlDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDakUsT0FBTztRQUNULENBQUM7UUFDRCxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbEMsY0FBYyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7d0dBbEpVLDZCQUE2Qjs0R0FBN0IsNkJBQTZCLGNBRjVCLE1BQU07OzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIEluamVjdGFibGUsIGNyZWF0ZUNvbXBvbmVudCwgaW5qZWN0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSB0aW1lT3V0PzogbnVtYmVyO1xuICBwcml2YXRlIGVsZW1lbnRMYXlvdXRDb250ZW50OiBNYXA8c3RyaW5nLCBIVE1MRWxlbWVudD4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgZWxlbWVudEJvZHkhOiBIVE1MRWxlbWVudCB8IG51bGw7XG4gIHByaXZhdGUgbWFwU3R5bGVzVG9QYXJlbnREb2N1bWVudDogV2Vha01hcDxDb21wb25lbnRSZWY8YW55PiwgQXJyYXk8Tm9kZT4+ID0gbmV3IFdlYWtNYXAoKTtcbiAgcHJpdmF0ZSBhcHBSZWYgPSBpbmplY3QoQXBwbGljYXRpb25SZWYpO1xuICBwcml2YXRlIGlkRWxlbWVudExheW91dENvbnRlbnREZWZhdWx0ID0gJ2xpYnMtdWktbGF5b3V0LWNvbnRlbnQnO1xuXG4gIHB1YmxpYyBzZXQgSWRFbGVtZW50TGF5b3V0Q29udGVudERlZmF1bHQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuaWRFbGVtZW50TGF5b3V0Q29udGVudERlZmF1bHQgPSBpZDtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQ6IGFueSk6IENvbXBvbmVudFJlZjxhbnk+IHtcbiAgICByZXR1cm4gY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgeyBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmFwcFJlZi5pbmplY3RvciB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0JvZHkoY29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPGFueT4sIGlzQWRkUGFyZW50RG9jdW1lbnQ/OiBib29sZWFuLCB0aW1lckRlbGF5VXBkYXRlU3R5bGVUb1BhcmVudD86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKCFjb21wb25lbnRSZWYgfHwgIWNvbXBvbmVudFJlZi5ob3N0Vmlldykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKGlzQWRkUGFyZW50RG9jdW1lbnQpIHtcbiAgICAgIHdpbmRvdy5wYXJlbnQuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgIHRoaXMudXBkYXRlU3R5bGVUb1BhcmVudERvY3VtZW50KGNvbXBvbmVudFJlZiwgdGltZXJEZWxheVVwZGF0ZVN0eWxlVG9QYXJlbnQpO1xuXG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmICghdGhpcy5lbGVtZW50Qm9keSkge1xuICAgICAgdGhpcy5lbGVtZW50Qm9keSA9IGRvY3VtZW50LmJvZHk7XG4gICAgfVxuICAgIHRoaXMuZWxlbWVudEJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9FbGVtZW50KGNvbXBvbmVudFJlZjogYW55LCBlbGVtZW50QWRkOiBhbnkpIHtcbiAgICBpZiAoIWNvbXBvbmVudFJlZiB8fCAhY29tcG9uZW50UmVmLmhvc3RWaWV3IHx8ICFlbGVtZW50QWRkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgcmV0dXJuIGVsZW1lbnRBZGQuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9FbGVtZW50TGF5b3V0Q29udGVudERlZmF1bHQoY29tcG9uZW50UmVmOiBhbnksIGlkOiBzdHJpbmcgPSB0aGlzLmlkRWxlbWVudExheW91dENvbnRlbnREZWZhdWx0KSB7XG4gICAgdGhpcy5hZGRUb0lkQXR0cmlidXRlRWxlbWVudChjb21wb25lbnRSZWYsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0lkQXR0cmlidXRlRWxlbWVudChjb21wb25lbnRSZWY6IGFueSwgaWQ6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5lbGVtZW50TGF5b3V0Q29udGVudC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmVsZW1lbnRMYXlvdXRDb250ZW50LnNldChpZCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpIGFzIEhUTUxFbGVtZW50KTtcbiAgICB9XG4gICAgaWYgKCFjb21wb25lbnRSZWYgfHwgIWNvbXBvbmVudFJlZi5ob3N0Vmlldykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRMYXlvdXRDb250ZW50LmdldChpZCk/LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnRSZWZcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogIGlnbm9yZURlc3Ryb3lDb21wb25lbnQ6IHPhu60gZHVuZyBraGkga2jDtG5nIG114buRbiBn4buNaSBow6BtIGNvbXBvbmVudFJlZi5kZXN0cm95KClcbiAgICpcbiAgICogIHRpbWVvdXREZXN0cm95OiBz4butIGThu6VuZyBraGkgbXXhu5FuIGfhu41pIGjDoG0gY29tcG9uZW50UmVmLmRlc3Ryb3koKSB0cuG7hSBoxqFuIHRoYXkgdsOsIG5nYXkgc2F1IGtoaSB4w7NhIGVsZW1lbnQga2jhu49pIGRvbShkZXRhY2hWaWV3KVxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlKGNvbXBvbmVudFJlZjogYW55LCBvcHRpb25zPzogeyBpZ25vcmVEZXN0cm95Q29tcG9uZW50PzogYm9vbGVhbjsgdGltZW91dERlc3Ryb3k/OiBudW1iZXIgfSkge1xuICAgIGlmICghY29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlU3R5bGVUb1BhcmVudERvY3VtZW50KGNvbXBvbmVudFJlZik7XG4gICAgaWYgKGNvbXBvbmVudFJlZi5ob3N0Vmlldykge1xuICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIH1cbiAgICBpZiAoIWNvbXBvbmVudFJlZi5kZXN0cm95IHx8IG9wdGlvbnM/Lmlnbm9yZURlc3Ryb3lDb21wb25lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGlzTmlsKG9wdGlvbnM/LnRpbWVvdXREZXN0cm95KSkge1xuICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfSwgb3B0aW9ucz8udGltZW91dERlc3Ryb3kpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHPhu60gZOG7pW5nIGjDoG0gYGBgZGVsZXRlKHRoaXMuY29tcG9uZW50UmVmKWBgYFxuICAgKi9cbiAgcHVibGljIHJlbW92ZShjb21wb25lbnRSZWY6IGFueSwgXz86IHN0cmluZywgaWdub3JlRGVzdHJveUNvbXBvbmVudD86IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRlbGV0ZShjb21wb25lbnRSZWYsIHsgaWdub3JlRGVzdHJveUNvbXBvbmVudCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3R5bGVUb1BhcmVudERvY3VtZW50KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4sIHRpbWVyRGVsYXlVcGRhdGVTdHlsZVRvUGFyZW50PzogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMudGltZU91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZU91dCk7XG4gICAgfVxuICAgIHRoaXMudGltZU91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgZG9jdW1lbnRQYXJlbnQgPSB3aW5kb3cucGFyZW50LmRvY3VtZW50O1xuXG4gICAgICBpZiAoZG9jdW1lbnRQYXJlbnQgJiYgIXRoaXMubWFwU3R5bGVzVG9QYXJlbnREb2N1bWVudC5oYXMoY29tcG9uZW50UmVmKSkge1xuICAgICAgICBjb25zdCBzdHlsZVRhZ3MgPSBuZXcgQXJyYXk8Tm9kZT4oKTtcblxuICAgICAgICBBcnJheS5mcm9tKGRvY3VtZW50LmhlYWQucXVlcnlTZWxlY3RvckFsbCgnc3R5bGUnKSkuZm9yRWFjaCgoc3R5bGVUYWcpID0+IHtcbiAgICAgICAgICBjb25zdCBjbG9uZVN0eWxlVGFnID0gc3R5bGVUYWcuY2xvbmVOb2RlKHRydWUpO1xuXG4gICAgICAgICAgc3R5bGVUYWdzLnB1c2goY2xvbmVTdHlsZVRhZyk7XG4gICAgICAgICAgZG9jdW1lbnRQYXJlbnQ/LmhlYWQuYXBwZW5kQ2hpbGQoY2xvbmVTdHlsZVRhZyk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm1hcFN0eWxlc1RvUGFyZW50RG9jdW1lbnQuc2V0KGNvbXBvbmVudFJlZiwgc3R5bGVUYWdzKTtcbiAgICAgIH1cbiAgICB9LCB0aW1lckRlbGF5VXBkYXRlU3R5bGVUb1BhcmVudCB8fCAyNTApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVTdHlsZVRvUGFyZW50RG9jdW1lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Pikge1xuICAgIGlmICghY29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0eWxlVGFnc1BvcHVwID0gdGhpcy5tYXBTdHlsZXNUb1BhcmVudERvY3VtZW50LmdldChjb21wb25lbnRSZWYpO1xuICAgIGNvbnN0IGRvY3VtZW50UGFyZW50ID0gd2luZG93LnBhcmVudC5kb2N1bWVudDtcblxuICAgIGlmICghc3R5bGVUYWdzUG9wdXAgfHwgIXN0eWxlVGFnc1BvcHVwLmxlbmd0aCB8fCAhZG9jdW1lbnRQYXJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3R5bGVUYWdzUG9wdXAuZm9yRWFjaCgoc3R5bGVUYWcpID0+IHtcbiAgICAgIGRvY3VtZW50UGFyZW50Py5oZWFkLnJlbW92ZUNoaWxkKHN0eWxlVGFnKTtcbiAgICB9KTtcbiAgICB0aGlzLm1hcFN0eWxlc1RvUGFyZW50RG9jdW1lbnQuZGVsZXRlKGNvbXBvbmVudFJlZik7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy50aW1lT3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lT3V0KTtcbiAgICAgIHRoaXMudGltZU91dCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICB0aGlzLmVsZW1lbnRMYXlvdXRDb250ZW50LmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvZHluYW1pYy1jb21wb25lbnQvc3JjL2R5bmFtaWMtY29tcG9uZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQWdCLGVBQWUsRUFBbUIsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXZDLE1BQU0sT0FBTyw2QkFBNkI7SUFDaEMsT0FBTyxDQUFVO0lBQ2pCLG9CQUFvQixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzNELFdBQVcsQ0FBc0I7SUFDakMseUJBQXlCLEdBQTRDLElBQUksT0FBTyxFQUFFLENBQUM7SUFDbkYsTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoQyw2QkFBNkIsR0FBRyx3QkFBd0IsQ0FBQztJQUVqRSxJQUFXLDZCQUE2QixDQUFDLEVBQVU7UUFDakQsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsU0FBYztRQUMzQyxPQUFPLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLFNBQVMsQ0FBQyxZQUFnQyxFQUFFLG1CQUE2QixFQUFFLDZCQUFzQztRQUN0SCxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFR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OlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgY3JlYXRlQ29tcG9uZW50LCBFbWJlZGRlZFZpZXdSZWYsIGluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlEeW5hbWljQ29tcG9uZW50U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgdGltZU91dD86IG51bWJlcjtcbiAgcHJpdmF0ZSBlbGVtZW50TGF5b3V0Q29udGVudDogTWFwPHN0cmluZywgSFRNTEVsZW1lbnQ+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGVsZW1lbnRCb2R5ITogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBwcml2YXRlIG1hcFN0eWxlc1RvUGFyZW50RG9jdW1lbnQ6IFdlYWtNYXA8Q29tcG9uZW50UmVmPGFueT4sIEFycmF5PE5vZGU+PiA9IG5ldyBXZWFrTWFwKCk7XG4gIHByaXZhdGUgYXBwUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgcHJpdmF0ZSBpZEVsZW1lbnRMYXlvdXRDb250ZW50RGVmYXVsdCA9ICdsaWJzLXVpLWxheW91dC1jb250ZW50JztcblxuICBwdWJsaWMgc2V0IElkRWxlbWVudExheW91dENvbnRlbnREZWZhdWx0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlkRWxlbWVudExheW91dENvbnRlbnREZWZhdWx0ID0gaWQ7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50OiBhbnkpOiBDb21wb25lbnRSZWY8YW55PiB7XG4gICAgcmV0dXJuIGNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHsgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5hcHBSZWYuaW5qZWN0b3IgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9Cb2R5KGNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxhbnk+LCBpc0FkZFBhcmVudERvY3VtZW50PzogYm9vbGVhbiwgdGltZXJEZWxheVVwZGF0ZVN0eWxlVG9QYXJlbnQ/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICghY29tcG9uZW50UmVmIHx8ICFjb21wb25lbnRSZWYuaG9zdFZpZXcpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmIChpc0FkZFBhcmVudERvY3VtZW50KSB7XG4gICAgICB3aW5kb3cucGFyZW50LmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgICB0aGlzLnVwZGF0ZVN0eWxlVG9QYXJlbnREb2N1bWVudChjb21wb25lbnRSZWYsIHRpbWVyRGVsYXlVcGRhdGVTdHlsZVRvUGFyZW50KTtcblxuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZWxlbWVudEJvZHkpIHtcbiAgICAgIHRoaXMuZWxlbWVudEJvZHkgPSBkb2N1bWVudC5ib2R5O1xuICAgIH1cbiAgICB0aGlzLmVsZW1lbnRCb2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIGFkZFRvRWxlbWVudChjb21wb25lbnRSZWY6IGFueSwgZWxlbWVudEFkZDogYW55KSB7XG4gICAgaWYgKCFjb21wb25lbnRSZWYgfHwgIWNvbXBvbmVudFJlZi5ob3N0VmlldyB8fCAhZWxlbWVudEFkZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIHJldHVybiBlbGVtZW50QWRkLmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRvRWxlbWVudExheW91dENvbnRlbnREZWZhdWx0KGNvbXBvbmVudFJlZjogYW55LCBpZDogc3RyaW5nID0gdGhpcy5pZEVsZW1lbnRMYXlvdXRDb250ZW50RGVmYXVsdCkge1xuICAgIHRoaXMuYWRkVG9JZEF0dHJpYnV0ZUVsZW1lbnQoY29tcG9uZW50UmVmLCBpZCk7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9JZEF0dHJpYnV0ZUVsZW1lbnQoY29tcG9uZW50UmVmOiBhbnksIGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudExheW91dENvbnRlbnQuaGFzKGlkKSkge1xuICAgICAgdGhpcy5lbGVtZW50TGF5b3V0Q29udGVudC5zZXQoaWQsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSBhcyBIVE1MRWxlbWVudCk7XG4gICAgfVxuICAgIGlmICghY29tcG9uZW50UmVmIHx8ICFjb21wb25lbnRSZWYuaG9zdFZpZXcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50TGF5b3V0Q29udGVudC5nZXQoaWQpPy5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50UmVmXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqICBpZ25vcmVEZXN0cm95Q29tcG9uZW50OiBz4butIGR1bmcga2hpIGtow7RuZyBtdeG7kW4gZ+G7jWkgaMOgbSBjb21wb25lbnRSZWYuZGVzdHJveSgpXG4gICAqXG4gICAqICB0aW1lb3V0RGVzdHJveTogc+G7rSBk4bulbmcga2hpIG114buRbiBn4buNaSBow6BtIGNvbXBvbmVudFJlZi5kZXN0cm95KCkgdHLhu4UgaMahbiB0aGF5IHbDrCBuZ2F5IHNhdSBraGkgeMOzYSBlbGVtZW50IGto4buPaSBkb20oZGV0YWNoVmlldylcbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgcHVibGljIGRlbGV0ZShjb21wb25lbnRSZWY6IGFueSwgb3B0aW9ucz86IHsgaWdub3JlRGVzdHJveUNvbXBvbmVudD86IGJvb2xlYW47IHRpbWVvdXREZXN0cm95PzogbnVtYmVyIH0pIHtcbiAgICBpZiAoIWNvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJlbW92ZVN0eWxlVG9QYXJlbnREb2N1bWVudChjb21wb25lbnRSZWYpO1xuICAgIGlmIChjb21wb25lbnRSZWYuaG9zdFZpZXcpIHtcbiAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICB9XG4gICAgaWYgKCFjb21wb25lbnRSZWYuZGVzdHJveSB8fCBvcHRpb25zPy5pZ25vcmVEZXN0cm95Q29tcG9uZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpc05pbChvcHRpb25zPy50aW1lb3V0RGVzdHJveSkpIHtcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIH0sIG9wdGlvbnM/LnRpbWVvdXREZXN0cm95KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBz4butIGThu6VuZyBow6BtIGBgYGRlbGV0ZSh0aGlzLmNvbXBvbmVudFJlZilgYGBcbiAgICovXG4gIHB1YmxpYyByZW1vdmUoY29tcG9uZW50UmVmOiBhbnksIF8/OiBzdHJpbmcsIGlnbm9yZURlc3Ryb3lDb21wb25lbnQ/OiBib29sZWFuKSB7XG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kZWxldGUoY29tcG9uZW50UmVmLCB7IGlnbm9yZURlc3Ryb3lDb21wb25lbnQgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0eWxlVG9QYXJlbnREb2N1bWVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LCB0aW1lckRlbGF5VXBkYXRlU3R5bGVUb1BhcmVudD86IG51bWJlcikge1xuICAgIGlmICh0aGlzLnRpbWVPdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVPdXQpO1xuICAgIH1cbiAgICB0aGlzLnRpbWVPdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGRvY3VtZW50UGFyZW50ID0gd2luZG93LnBhcmVudC5kb2N1bWVudDtcblxuICAgICAgaWYgKGRvY3VtZW50UGFyZW50ICYmICF0aGlzLm1hcFN0eWxlc1RvUGFyZW50RG9jdW1lbnQuaGFzKGNvbXBvbmVudFJlZikpIHtcbiAgICAgICAgY29uc3Qgc3R5bGVUYWdzID0gbmV3IEFycmF5PE5vZGU+KCk7XG5cbiAgICAgICAgQXJyYXkuZnJvbShkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3JBbGwoJ3N0eWxlJykpLmZvckVhY2goKHN0eWxlVGFnKSA9PiB7XG4gICAgICAgICAgY29uc3QgY2xvbmVTdHlsZVRhZyA9IHN0eWxlVGFnLmNsb25lTm9kZSh0cnVlKTtcblxuICAgICAgICAgIHN0eWxlVGFncy5wdXNoKGNsb25lU3R5bGVUYWcpO1xuICAgICAgICAgIGRvY3VtZW50UGFyZW50Py5oZWFkLmFwcGVuZENoaWxkKGNsb25lU3R5bGVUYWcpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5tYXBTdHlsZXNUb1BhcmVudERvY3VtZW50LnNldChjb21wb25lbnRSZWYsIHN0eWxlVGFncyk7XG4gICAgICB9XG4gICAgfSwgdGltZXJEZWxheVVwZGF0ZVN0eWxlVG9QYXJlbnQgfHwgMjUwKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlU3R5bGVUb1BhcmVudERvY3VtZW50KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4pIHtcbiAgICBpZiAoIWNvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdHlsZVRhZ3NQb3B1cCA9IHRoaXMubWFwU3R5bGVzVG9QYXJlbnREb2N1bWVudC5nZXQoY29tcG9uZW50UmVmKTtcbiAgICBjb25zdCBkb2N1bWVudFBhcmVudCA9IHdpbmRvdy5wYXJlbnQuZG9jdW1lbnQ7XG5cbiAgICBpZiAoIXN0eWxlVGFnc1BvcHVwIHx8ICFzdHlsZVRhZ3NQb3B1cC5sZW5ndGggfHwgIWRvY3VtZW50UGFyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN0eWxlVGFnc1BvcHVwLmZvckVhY2goKHN0eWxlVGFnKSA9PiB7XG4gICAgICBkb2N1bWVudFBhcmVudD8uaGVhZC5yZW1vdmVDaGlsZChzdHlsZVRhZyk7XG4gICAgfSk7XG4gICAgdGhpcy5tYXBTdHlsZXNUb1BhcmVudERvY3VtZW50LmRlbGV0ZShjb21wb25lbnRSZWYpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMudGltZU91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZU91dCk7XG4gICAgICB0aGlzLnRpbWVPdXQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5lbGVtZW50TGF5b3V0Q29udGVudC5jbGVhcigpO1xuICB9XG59XG4iXX0=
|
|
@@ -87,6 +87,9 @@ class LibsUiDynamicComponentService {
|
|
|
87
87
|
* @deprecated sử dụng hàm ```delete(this.componentRef)```
|
|
88
88
|
*/
|
|
89
89
|
remove(componentRef, _, ignoreDestroyComponent) {
|
|
90
|
+
if (!componentRef) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
90
93
|
this.delete(componentRef, { ignoreDestroyComponent });
|
|
91
94
|
}
|
|
92
95
|
updateStyleToParentDocument(componentRef, timerDelayUpdateStyleToParent) {
|
|
@@ -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/set-inputs.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, OnDestroy } from '@angular/core';\nimport { isNil } from '@libs-ui/utils';\n@Injectable({\n providedIn: 'root',\n})\nexport class LibsUiDynamicComponentService implements OnDestroy {\n private timeOut?: number;\n private elementLayoutContent: Map<string, HTMLElement> = new Map();\n private elementBody!: HTMLElement | null;\n private mapStylesToParentDocument: WeakMap<ComponentRef<any>, Array<Node>> = new WeakMap();\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?: ComponentRef<any>, isAddParentDocument?: boolean, timerDelayUpdateStyleToParent?: number): 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 this.updateStyleToParentDocument(componentRef, timerDelayUpdateStyleToParent);\n\n return '';\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 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 /**\n *\n * @param componentRef\n * @param options\n * ignoreDestroyComponent: sử dung khi không muốn gọi hàm componentRef.destroy()\n *\n * timeoutDestroy: sử dụng khi muốn gọi hàm componentRef.destroy() trễ hơn thay vì ngay sau khi xóa element khỏi dom(detachView)\n * @returns void\n */\n public delete(componentRef: any, options?: { ignoreDestroyComponent?: boolean; timeoutDestroy?: number }) {\n if (!componentRef) {\n return;\n }\n this.removeStyleToParentDocument(componentRef);\n if (componentRef.hostView) {\n this.appRef.detachView(componentRef.hostView);\n }\n if (!componentRef.destroy || options?.ignoreDestroyComponent) {\n return;\n }\n if (isNil(options?.timeoutDestroy)) {\n componentRef.destroy();\n\n return;\n }\n setTimeout(() => {\n componentRef.destroy();\n }, options?.timeoutDestroy);\n }\n\n /**\n * @deprecated sử dụng hàm ```delete(this.componentRef)```\n */\n public remove(componentRef: any, _?: string, ignoreDestroyComponent?: boolean) {\n this.delete(componentRef, { ignoreDestroyComponent });\n }\n\n private updateStyleToParentDocument(componentRef: ComponentRef<any>, timerDelayUpdateStyleToParent?: number) {\n if (this.timeOut) {\n clearTimeout(this.timeOut);\n }\n this.timeOut = setTimeout(() => {\n const documentParent = window.parent.document;\n\n if (documentParent && !this.mapStylesToParentDocument.has(componentRef)) {\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(componentRef, styleTags);\n }\n }, timerDelayUpdateStyleToParent || 250);\n }\n\n private removeStyleToParentDocument(componentRef: ComponentRef<any>) {\n if (!componentRef) {\n return;\n }\n const styleTagsPopup = this.mapStylesToParentDocument.get(componentRef);\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(componentRef);\n }\n\n ngOnDestroy() {\n if (this.timeOut) {\n clearTimeout(this.timeOut);\n this.timeOut = undefined;\n }\n\n this.elementLayoutContent.clear();\n }\n}\n","import { ComponentRef } from '@angular/core';\nimport { ExtractInputs } from '@libs-ui/interfaces-types';\n\nexport const setInputs = <T, R extends boolean = true>(componentRef: ComponentRef<T>, inputs: ExtractInputs<T, R>, required?: R): void => {\n Object.entries(inputs).forEach(([key, value]) => componentRef.setInput(key, value));\n};\n\nexport const setInput = <T>(componentRef: ComponentRef<T>, input: keyof ExtractInputs<T>, value: ExtractInputs<T>[keyof ExtractInputs<T>]): void => {\n componentRef.setInput(input as string, value);\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
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/set-inputs.ts","../../../../../libs-ui/services/dynamic-component/src/libs-ui-services-dynamic-component.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ApplicationRef, ComponentRef, createComponent, EmbeddedViewRef, inject, Injectable, OnDestroy } from '@angular/core';\nimport { isNil } from '@libs-ui/utils';\n@Injectable({\n providedIn: 'root',\n})\nexport class LibsUiDynamicComponentService implements OnDestroy {\n private timeOut?: number;\n private elementLayoutContent: Map<string, HTMLElement> = new Map();\n private elementBody!: HTMLElement | null;\n private mapStylesToParentDocument: WeakMap<ComponentRef<any>, Array<Node>> = new WeakMap();\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?: ComponentRef<any>, isAddParentDocument?: boolean, timerDelayUpdateStyleToParent?: number): 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 this.updateStyleToParentDocument(componentRef, timerDelayUpdateStyleToParent);\n\n return '';\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 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 /**\n *\n * @param componentRef\n * @param options\n * ignoreDestroyComponent: sử dung khi không muốn gọi hàm componentRef.destroy()\n *\n * timeoutDestroy: sử dụng khi muốn gọi hàm componentRef.destroy() trễ hơn thay vì ngay sau khi xóa element khỏi dom(detachView)\n * @returns void\n */\n public delete(componentRef: any, options?: { ignoreDestroyComponent?: boolean; timeoutDestroy?: number }) {\n if (!componentRef) {\n return;\n }\n this.removeStyleToParentDocument(componentRef);\n if (componentRef.hostView) {\n this.appRef.detachView(componentRef.hostView);\n }\n if (!componentRef.destroy || options?.ignoreDestroyComponent) {\n return;\n }\n if (isNil(options?.timeoutDestroy)) {\n componentRef.destroy();\n\n return;\n }\n setTimeout(() => {\n componentRef.destroy();\n }, options?.timeoutDestroy);\n }\n\n /**\n * @deprecated sử dụng hàm ```delete(this.componentRef)```\n */\n public remove(componentRef: any, _?: string, ignoreDestroyComponent?: boolean) {\n if (!componentRef) {\n return;\n }\n this.delete(componentRef, { ignoreDestroyComponent });\n }\n\n private updateStyleToParentDocument(componentRef: ComponentRef<any>, timerDelayUpdateStyleToParent?: number) {\n if (this.timeOut) {\n clearTimeout(this.timeOut);\n }\n this.timeOut = setTimeout(() => {\n const documentParent = window.parent.document;\n\n if (documentParent && !this.mapStylesToParentDocument.has(componentRef)) {\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(componentRef, styleTags);\n }\n }, timerDelayUpdateStyleToParent || 250);\n }\n\n private removeStyleToParentDocument(componentRef: ComponentRef<any>) {\n if (!componentRef) {\n return;\n }\n const styleTagsPopup = this.mapStylesToParentDocument.get(componentRef);\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(componentRef);\n }\n\n ngOnDestroy() {\n if (this.timeOut) {\n clearTimeout(this.timeOut);\n this.timeOut = undefined;\n }\n\n this.elementLayoutContent.clear();\n }\n}\n","import { ComponentRef } from '@angular/core';\nimport { ExtractInputs } from '@libs-ui/interfaces-types';\n\nexport const setInputs = <T, R extends boolean = true>(componentRef: ComponentRef<T>, inputs: ExtractInputs<T, R>, required?: R): void => {\n Object.entries(inputs).forEach(([key, value]) => componentRef.setInput(key, value));\n};\n\nexport const setInput = <T>(componentRef: ComponentRef<T>, input: keyof ExtractInputs<T>, value: ExtractInputs<T>[keyof ExtractInputs<T>]): void => {\n componentRef.setInput(input as string, value);\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.352-0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/core": ">=18.0.0",
|
|
6
|
-
"@libs-ui/utils": "0.2.
|
|
6
|
+
"@libs-ui/utils": "0.2.352-0"
|
|
7
7
|
},
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"module": "fesm2022/libs-ui-services-dynamic-component.mjs",
|