UNPKG

@formql/core

Version:

FormQL - A framework for building dynamic forms

44 lines 5.44 kB
import { __decorate, __metadata } from "tslib"; import { ComponentFactoryResolver, Injectable } from '@angular/core'; var ComponentResolverService = /** @class */ (function () { function ComponentResolverService(componentFactoryResolver) { this.componentFactoryResolver = componentFactoryResolver; this.componentRegister = {}; } ComponentResolverService.prototype.resolveComponent = function (componentName) { if (!this.componentRegister) { return null; } var component = this.componentRegister[componentName]; if (!component) { console.log("Component " + componentName + " not found."); return null; } var resolvedComponent = this.componentFactoryResolver.resolveComponentFactory(component); return resolvedComponent; }; ComponentResolverService.prototype.addComponents = function () { var _this = this; var components = []; for (var _i = 0; _i < arguments.length; _i++) { components[_i] = arguments[_i]; } if (Array.isArray(components)) { components.forEach(function (c) { return _this.componentRegister[c.componentName] = c; }); } }; ComponentResolverService.prototype.addComponent = function (component) { this.componentRegister[component.componentName] = component; }; ComponentResolverService.prototype.getComponentArray = function () { var _this = this; return Array.from(Object.keys(this.componentRegister), function (x) { return _this.componentRegister[x]; }); }; ComponentResolverService = __decorate([ Injectable(), __metadata("design:paramtypes", [ComponentFactoryResolver]) ], ComponentResolverService); return ComponentResolverService; }()); export { ComponentResolverService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlc29sdmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZm9ybXFsL2NvcmUvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9jb21wb25lbnQtcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQix3QkFBd0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkY7SUFJRSxrQ0FBb0Isd0JBQWtEO1FBQWxELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFGL0Qsc0JBQWlCLEdBQXdCLEVBQUUsQ0FBQztJQUduRCxDQUFDO0lBRU0sbURBQWdCLEdBQXZCLFVBQXdCLGFBQXFCO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFhLGFBQWEsZ0JBQWEsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRixPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFTSxnREFBYSxHQUFwQjtRQUFBLGlCQUlDO1FBSm9CLG9CQUFvQjthQUFwQixVQUFvQixFQUFwQixxQkFBb0IsRUFBcEIsSUFBb0I7WUFBcEIsK0JBQW9COztRQUN2QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDN0IsVUFBVSxDQUFDLE9BQU8sQ0FBRSxVQUFBLENBQUMsSUFBSSxPQUFBLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUEzQyxDQUEyQyxDQUFDLENBQUM7U0FDdkU7SUFDSCxDQUFDO0lBRU0sK0NBQVksR0FBbkIsVUFBb0IsU0FBYztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sb0RBQWlCLEdBQXhCO1FBQUEsaUJBRUM7UUFEQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxVQUFBLENBQUMsSUFBSSxPQUFBLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBekIsQ0FBeUIsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFoQ1Usd0JBQXdCO1FBRHBDLFVBQVUsRUFBRTt5Q0FLbUMsd0JBQXdCO09BSjNELHdCQUF3QixDQWlDcEM7SUFBRCwrQkFBQztDQUFBLEFBakNELElBaUNDO1NBakNZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnksIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50UmVzb2x2ZXJTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIGNvbXBvbmVudFJlZ2lzdGVyOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXNvbHZlQ29tcG9uZW50KGNvbXBvbmVudE5hbWU6IHN0cmluZyk6IENvbXBvbmVudEZhY3Rvcnk8dW5rbm93bj4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZ2lzdGVyKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWdpc3Rlcltjb21wb25lbnROYW1lXTtcclxuICAgIGlmICghY29tcG9uZW50KSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGBDb21wb25lbnQgJHtjb21wb25lbnROYW1lfSBub3QgZm91bmQuYCk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVzb2x2ZWRDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xyXG4gICAgcmV0dXJuIHJlc29sdmVkQ29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZENvbXBvbmVudHMoLi4uY29tcG9uZW50czogYW55W10pIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNvbXBvbmVudHMpKSB7XHJcbiAgICAgIGNvbXBvbmVudHMuZm9yRWFjaCggYyA9PiB0aGlzLmNvbXBvbmVudFJlZ2lzdGVyW2MuY29tcG9uZW50TmFtZV0gPSBjKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRDb21wb25lbnQoY29tcG9uZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UmVnaXN0ZXJbY29tcG9uZW50LmNvbXBvbmVudE5hbWVdID0gY29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENvbXBvbmVudEFycmF5KCkge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oT2JqZWN0LmtleXModGhpcy5jb21wb25lbnRSZWdpc3RlciksIHggPT4gdGhpcy5jb21wb25lbnRSZWdpc3Rlclt4XSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19