How do I refactor this using typescript generics? I have this 3 methods and I want these to be written down to just one method that accepts the TYPE T - to eliminate repeated code.
private initializeBlueComponentIframe() {
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(BlueComponent);
this.dynamicIframeContent.clear();
const dynamicComponent = <BlueComponent>this.dynamicIframeContent.createComponent(componentFactory).instance;
dynamicComponent.facade = this;
dynamicComponent.url = this.url;
dynamicComponent.initialize();
}
private initializeBlackComponentIframe() {
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(BlackComponent);
this.dynamicIframeContent.clear();
const dynamicComponent = <BlackComponent>this.dynamicIframeContent.createComponent(componentFactory).instance;
dynamicComponent.facade = this;
dynamicComponent.url = this.url;
dynamicComponent.initialize();
}
private initializeGREENIframe() {
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(GreenComponent);
this.dynamicIframeContent.clear();
const dynamicComponent = <GreenComponent>this.dynamicIframeContent.createComponent(componentFactory).instance;
dynamicComponent.facade = this;
dynamicComponent.url = this.url;
dynamicComponent.initialize();
}