UNPKG

ornamentum

Version:
35 lines (34 loc) 1.42 kB
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; }