ornamentum
Version:
Angular Toolkit
35 lines (34 loc) • 1.42 kB
TypeScript
import { Injector, Type } from '@angular/core';
import { ComponentLoaderOptions } from '../models/component-loader-options.model';
/**
* Dynamic component loader; Responsible of dynamically rendering angular components.
*/
export interface ComponentLoader<T> {
/**
* Hide component if visible.
* @return Rendered component reference.
*/
hide(): T;
/**
* Render component if not available, else display hidden component.
* @param component Component class type.
* @param parentElement Parent element to append the target component.
* @param injector Component injector reference.
* @param options Component loader options object.
* @return Rendered component reference.
*/
show(component: Type<T>, parentElement: HTMLElement, injector: Injector, options?: ComponentLoaderOptions): T;
/**
* Toggle component display state or render if not available.
* @param component Component class type.
* @param parentElement Parent element to append the target component.
* @param injector Component injector reference.
* @param options Component loader options object.
* @return Rendered component reference.
*/
toggle(component: Type<T>, parentElement: HTMLElement, injector: Injector, options?: ComponentLoaderOptions): T;
/**
* Dispose rendered component reference and bindings.
*/
dispose(): void;
}