@itexpert-dev/base-universal-table
Version:
base universal table for build tables
42 lines (36 loc) • 1.32 kB
text/typescript
import {
Directive,
ComponentFactoryResolver,
ViewContainerRef,
Input,
ReflectiveInjector,
Injector
} from "@angular/core";
import {UniversalTableCtrl} from "../services/universalTable/universalTableCtrl";
const BaseUniversalTableViewDirectiveConfig = {
selector: 'universal-table-view'
};
(BaseUniversalTableViewDirectiveConfig)
class UniversalTableViewDirective{
() 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}