UNPKG

@hxui/angular

Version:

An Angular library based on the [HXUI design system](https://hxui.io).

74 lines (73 loc) 2.64 kB
import { ComponentFactoryResolver, ComponentRef, ElementRef, EventEmitter, Injector, NgZone, Provider, Renderer2, TemplateRef, Type, ViewContainerRef } from '@angular/core'; import { PositioningOptions } from '../positioning/positioning.options'; import { PositioningService } from '../positioning/positioning.service'; export interface ListenOptions { target?: ElementRef; triggers?: string; show?: any; hide?: any; toggle?: any; } export declare class ComponentLoader<T> { onBeforeShow: EventEmitter<any>; onShown: EventEmitter<any>; onBeforeHide: EventEmitter<any>; onHidden: EventEmitter<any>; instance: T; _componentRef: ComponentRef<T>; private _providers; private _componentFactory; private _elementRef; private _zoneSubscription; private _contentRef; private _viewContainerRef; private _injector; private _renderer; private _ngZone; private _componentFactoryResolver; private _posService; private _unregisterListenersFn; get isShown(): boolean; /** * Placement of a component. Accepts: "top", "bottom", "left", "right" */ private attachment; /** * A selector specifying the element the popover should be appended to. * Currently only supports "body". */ private container; /** * Specifies events that should trigger. Supports a space separated list of * event names. */ private triggers; /** * Do not use this directly, it should be instanced via * `ComponentLoadFactory.attach` * @internal * @param _viewContainerRef * @param _elementRef * @param _injector * @param _renderer * @param _componentFactoryResolver * @param _ngZone * @param _posService */ constructor(_viewContainerRef: ViewContainerRef, _renderer: Renderer2, _elementRef: ElementRef, _injector: Injector, _componentFactoryResolver: ComponentFactoryResolver, _ngZone: NgZone, _posService: PositioningService); attach(compType: Type<T>): ComponentLoader<T>; to(container?: string): ComponentLoader<T>; position(opts?: PositioningOptions): ComponentLoader<T>; provide(provider: Provider): ComponentLoader<T>; show(opts?: { content?: string | TemplateRef<any>; [key: string]: any; }): ComponentRef<T>; hide(): ComponentLoader<T>; toggle(): void; dispose(): void; listen(listenOpts: ListenOptions): ComponentLoader<T>; private _subscribePositioning; private _unsubscribePositioning; private _getContentRef; }