projects/rebirth-ng/src/lib/modal/modal-content.component.ts
| exportAs | modalContent | 
            
| selector | re-modal-content | 
            
                        Properties | 
                
                        Methods | 
                
                        
  | 
                
constructor(modalContentContainer: ViewContainerRef, injector: Injector, componentFactoryResolver: ComponentFactoryResolver)
                     | 
                ||||||||||||
| 
                             
                                    Parameters :
                                     
                    
  | 
                
| addContent | |||||||||
addContent(options: ModalOptions, dismiss: EventEmitter
                     | 
                |||||||||
                                Type parameters :
                                
  | 
                        |||||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| Private handleResolve | |||||||||
                            
                        handleResolve(options: ModalOptions, instance: Modal)
                     | 
                |||||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| ngOnDestroy | 
ngOnDestroy()
                     | 
                
| 
                             
                                Returns :      
                    void
                             | 
                
| modalContentRef | 
                        modalContentRef:     
                     | 
                
                            Type :     ComponentRef<Modal>
                         | 
                    
import {
  Component,
  ComponentRef,
  ViewContainerRef,
  Injector,
  OnDestroy,
  EventEmitter,
  ComponentFactoryResolver
} from '@angular/core';
import { ModalOptions } from './modal-options.model';
import { Modal } from './modal.model';
@Component({
  selector: 're-modal-content',
  template: '',
  exportAs: 'modalContent'
})
export class ModalContentComponent implements OnDestroy {
  modalContentRef: ComponentRef<Modal>;
  constructor(private modalContentContainer: ViewContainerRef, private  injector: Injector,
              private componentFactoryResolver: ComponentFactoryResolver) {
  }
  addContent<T>(options: ModalOptions, dismiss: EventEmitter<any>) {
    const componentFactoryResolver = options.componentFactoryResolver || this.componentFactoryResolver;
    const componentFactory = componentFactoryResolver.resolveComponentFactory(options.component);
    this.modalContentRef = this.modalContentContainer
      .createComponent(componentFactory, this.modalContentContainer.length, options.injector || this.injector);
    const instance: Modal = this.modalContentRef.instance;
    instance.dismiss = dismiss;
    this.handleResolve(options, instance);
  }
  ngOnDestroy(): void {
    this.modalContentRef.destroy();
  }
  private handleResolve(options: ModalOptions, instance: Modal) {
    const resolve = options.resolve || {};
    if (resolve.then) {
      resolve.then(data => instance.context = data);
    } else if (resolve.subscribe) {
      resolve.subscribe(data => instance.context = data);
    } else {
      instance.context = resolve;
    }
  }
}