UNPKG

@itexpert-dev/base-universal-table

Version:

base universal table for build tables

42 lines (36 loc) 1.32 kB
import { Directive, ComponentFactoryResolver, ViewContainerRef, Input, ReflectiveInjector, Injector } from "@angular/core"; import {UniversalTableCtrl} from "../services/universalTable/universalTableCtrl"; const BaseUniversalTableViewDirectiveConfig = { selector: 'universal-table-view' }; @Directive(BaseUniversalTableViewDirectiveConfig) class UniversalTableViewDirective{ @Input() tableCtrl:UniversalTableCtrl; constructor( protected componentResolver: ComponentFactoryResolver, protected viewContainer: ViewContainerRef, protected injector: Injector ){ } ngOnInit(){ let componentKey = this.tableCtrl.tableComponents.container; let componentFactory = this.tableCtrl.config.componentsStorage.getComponent(componentKey); let injector = ReflectiveInjector.resolveAndCreate( [{ provide: UniversalTableCtrl, useValue: this.tableCtrl }], this.injector ); let component = this.componentResolver.resolveComponentFactory(<any>componentFactory); this.viewContainer.createComponent(component, 0, injector); } } export {UniversalTableViewDirective, BaseUniversalTableViewDirectiveConfig}