import { ViewContainerRef, ComponentFactoryResolver, ComponentRef } from '@angular/core' import { HomeGridComponent } from '../home-grid-component/home-grid-component' import { LookupGridComponent } from '../lookup-grid-component/lookup-grid-component'; import { CustomGridOptions } from '../types/grid-types'; import { LookupHomeScreenOptions } from '../types/home-screen-types'; export class GridFactory { constructor(private componentFactoryResolver: ComponentFactoryResolver) { } createHomeGrid(containerRef: ViewContainerRef, attrs?: CustomGridOptions): ComponentRef { let factory = this.componentFactoryResolver.resolveComponentFactory(HomeGridComponent); let cmpRef = containerRef.createComponent(factory); if (attrs) { cmpRef.instance.customGridOptions = attrs; } return cmpRef; } createLookupGrid(containerRef: ViewContainerRef, attrs?: LookupHomeScreenOptions): ComponentRef { let factory = this.componentFactoryResolver.resolveComponentFactory(LookupGridComponent); let cmpRef = containerRef.createComponent(factory); if (attrs) { cmpRef.instance.customGridOptions = attrs; } return cmpRef; } }