UNPKG

@formql/core

Version:

FormQL - A framework for building dynamic forms

37 lines 4.8 kB
import { __decorate, __metadata } from "tslib"; import { ComponentFactoryResolver, Injectable } from '@angular/core'; let ComponentResolverService = class ComponentResolverService { constructor(componentFactoryResolver) { this.componentFactoryResolver = componentFactoryResolver; this.componentRegister = {}; } resolveComponent(componentName) { if (!this.componentRegister) { return null; } const component = this.componentRegister[componentName]; if (!component) { console.log(`Component ${componentName} not found.`); return null; } const resolvedComponent = this.componentFactoryResolver.resolveComponentFactory(component); return resolvedComponent; } addComponents(...components) { if (Array.isArray(components)) { components.forEach(c => this.componentRegister[c.componentName] = c); } } addComponent(component) { this.componentRegister[component.componentName] = component; } getComponentArray() { return Array.from(Object.keys(this.componentRegister), x => this.componentRegister[x]); } }; ComponentResolverService = __decorate([ Injectable(), __metadata("design:paramtypes", [ComponentFactoryResolver]) ], ComponentResolverService); export { ComponentResolverService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlc29sdmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZm9ybXFsL2NvcmUvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9jb21wb25lbnQtcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQix3QkFBd0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkYsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFJbkMsWUFBb0Isd0JBQWtEO1FBQWxELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFGL0Qsc0JBQWlCLEdBQXdCLEVBQUUsQ0FBQztJQUduRCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsYUFBcUI7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsYUFBYSxhQUFhLENBQUMsQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0YsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRU0sYUFBYSxDQUFDLEdBQUcsVUFBaUI7UUFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzdCLFVBQVUsQ0FBQyxPQUFPLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0gsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFjO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQzlELENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0YsQ0FBQTtBQWpDWSx3QkFBd0I7SUFEcEMsVUFBVSxFQUFFO3FDQUttQyx3QkFBd0I7R0FKM0Qsd0JBQXdCLENBaUNwQztTQWpDWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudFJlc29sdmVyU2VydmljZSB7XHJcblxyXG4gIHB1YmxpYyBjb21wb25lbnRSZWdpc3RlcjogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzb2x2ZUNvbXBvbmVudChjb21wb25lbnROYW1lOiBzdHJpbmcpOiBDb21wb25lbnRGYWN0b3J5PHVua25vd24+IHtcclxuICAgIGlmICghdGhpcy5jb21wb25lbnRSZWdpc3Rlcikge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50UmVnaXN0ZXJbY29tcG9uZW50TmFtZV07XHJcbiAgICBpZiAoIWNvbXBvbmVudCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhgQ29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0gbm90IGZvdW5kLmApO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlc29sdmVkQ29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcclxuICAgIHJldHVybiByZXNvbHZlZENvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRDb21wb25lbnRzKC4uLmNvbXBvbmVudHM6IGFueVtdKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjb21wb25lbnRzKSkge1xyXG4gICAgICBjb21wb25lbnRzLmZvckVhY2goIGMgPT4gdGhpcy5jb21wb25lbnRSZWdpc3RlcltjLmNvbXBvbmVudE5hbWVdID0gYyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkQ29tcG9uZW50KGNvbXBvbmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZ2lzdGVyW2NvbXBvbmVudC5jb21wb25lbnROYW1lXSA9IGNvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDb21wb25lbnRBcnJheSgpIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKE9iamVjdC5rZXlzKHRoaXMuY29tcG9uZW50UmVnaXN0ZXIpLCB4ID0+IHRoaXMuY29tcG9uZW50UmVnaXN0ZXJbeF0pO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==