@yoyoboot/l-52abp-ng-form-generator
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.2.0.
28 lines • 4.57 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./dynamic-component-registry.service";
export class DynamicComponentFactoryService {
constructor(registry, resolver) {
this.registry = registry;
this.resolver = resolver;
}
createByType(container, componentType) {
const componentFactory = this.resolver
.resolveComponentFactory(componentType);
return container.createComponent(componentFactory);
}
createByName(container, typeName) {
if (!this.registry.has(typeName)) {
console.warn(`dcf: No component for type "${typeName}"`);
}
const componentClass = this.registry.getType(typeName);
const componentFactory = this.resolver.resolveComponentFactory(componentClass);
return container.createComponent(componentFactory);
}
}
DynamicComponentFactoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicComponentFactoryService, deps: [{ token: i1.DynamicComponentRegistryService }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
DynamicComponentFactoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicComponentFactoryService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicComponentFactoryService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.DynamicComponentRegistryService }, { type: i0.ComponentFactoryResolver }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtZmFjdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbC01MmFicC1uZy1mb3JtLWdlbmVyYXRvci9zcmMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtZmFjdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEMsVUFBVSxFQUEwQixNQUFNLGVBQWUsQ0FBQzs7O0FBSzNHLE1BQU0sT0FBTyw4QkFBOEI7SUFFekMsWUFDVSxRQUF5QyxFQUN6QyxRQUFrQztRQURsQyxhQUFRLEdBQVIsUUFBUSxDQUFpQztRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtJQUU1QyxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQTJCLEVBQUUsYUFBd0I7UUFDaEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUTthQUNuQyx1QkFBdUIsQ0FBTSxhQUFhLENBQUMsQ0FBQztRQUMvQyxPQUFPLFNBQVMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQTJCLEVBQUUsUUFBZ0I7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLFFBQVEsR0FBRyxDQUFDLENBQUM7U0FDMUQ7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQVEsQ0FBQztRQUM5RCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQW9CLGNBQWMsQ0FBQyxDQUFDO1FBQ2xHLE9BQU8sU0FBUyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JELENBQUM7OzRIQXRCVSw4QkFBOEI7Z0lBQTlCLDhCQUE4Qjs0RkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIFR5cGUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LXJlZ2lzdHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSUR5bmFtaWNDb21wb25lbnQgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlZ2lzdHJ5OiBEeW5hbWljQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICApIHtcbiAgfVxuXG4gIGNyZWF0ZUJ5VHlwZShjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIGNvbXBvbmVudFR5cGU6IFR5cGU8YW55Pik6IENvbXBvbmVudFJlZjxJRHluYW1pY0NvbXBvbmVudD4ge1xuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLnJlc29sdmVyXG4gICAgICAucmVzb2x2ZUNvbXBvbmVudEZhY3Rvcnk8YW55Pihjb21wb25lbnRUeXBlKTtcbiAgICByZXR1cm4gY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcbiAgfVxuXG4gIGNyZWF0ZUJ5TmFtZShjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIHR5cGVOYW1lOiBzdHJpbmcpOiBDb21wb25lbnRSZWY8SUR5bmFtaWNDb21wb25lbnQ+IHtcbiAgICBpZiAoIXRoaXMucmVnaXN0cnkuaGFzKHR5cGVOYW1lKSkge1xuICAgICAgY29uc29sZS53YXJuKGBkY2Y6IE5vIGNvbXBvbmVudCBmb3IgdHlwZSBcIiR7dHlwZU5hbWV9XCJgKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb21wb25lbnRDbGFzcyA9IHRoaXMucmVnaXN0cnkuZ2V0VHlwZSh0eXBlTmFtZSkgYXMgYW55O1xuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5PElEeW5hbWljQ29tcG9uZW50Pihjb21wb25lbnRDbGFzcyk7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XG4gIH1cbn1cbiJdfQ==