UNPKG

@chatterton/angular2-schema-form

Version:

Angular2 Schema Form (DISCLAIMER: it is not related to angular-schema-form)

28 lines (21 loc) 717 B
import { ViewContainerRef, ComponentRef, ComponentFactoryResolver, Injectable } from '@angular/core'; import { WidgetRegistry } from './widgetregistry'; @Injectable() export class WidgetFactory { private resolver: ComponentFactoryResolver; private registry: WidgetRegistry; constructor(registry: WidgetRegistry, resolver: ComponentFactoryResolver) { this.registry = registry; this.resolver = resolver; } createWidget(container: ViewContainerRef, type: string): ComponentRef<any> { let componentClass = this.registry.getWidgetType(type); let componentFactory = this.resolver.resolveComponentFactory(componentClass); return container.createComponent(componentFactory); } }