File

projects/rebirth-ng/src/lib/overlay/overlay-content.component.ts

Implements

OnDestroy

Metadata

exportAs overlayContent
selector re-overlay-content

Index

Properties
Methods

Constructor

constructor(contentContainer: ViewContainerRef, injector: Injector, componentFactoryResolver: ComponentFactoryResolver)
Parameters :
Name Type Optional
contentContainer ViewContainerRef no
injector Injector no
componentFactoryResolver ComponentFactoryResolver no

Methods

addContent
addContent(options: OverlayOptions)
Parameters :
Name Type Optional
options OverlayOptions no
Returns : void
ngOnDestroy
ngOnDestroy()
Returns : void

Properties

contentRef
contentRef: ComponentRef<any>
Type : ComponentRef<any>
import {
  Component,
  ComponentRef,
  ViewContainerRef,
  Injector,
  OnDestroy,
  ComponentFactoryResolver
} from '@angular/core';
import { OverlayOptions } from './overlay-options.model';

@Component({
  selector: 're-overlay-content',
  template: '',
  exportAs: 'overlayContent'
})
export class OverlayContentComponent implements OnDestroy {

  contentRef: ComponentRef<any>;

  constructor(private contentContainer: ViewContainerRef, private  injector: Injector,
              private componentFactoryResolver: ComponentFactoryResolver) {

  }

  addContent(options: OverlayOptions) {
    const componentFactoryResolver = options.componentFactoryResolver || this.componentFactoryResolver;
    const componentFactory = componentFactoryResolver.resolveComponentFactory(options.component);
    this.contentRef = this.contentContainer
      .createComponent(componentFactory, this.contentContainer.length, options.injector || this.injector);
  }

  ngOnDestroy(): void {
    if (this.contentRef) {
      this.contentRef.destroy();
    }
  }
}
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""