ng-devui
Version:
DevUI components based on Angular
87 lines (86 loc) • 4.42 kB
TypeScript
import { ComponentFactoryResolver, ComponentRef, ElementRef, Injector, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
import { OverlayContainerRef } from 'ng-devui/overlay-container';
import { DevConfigService } from 'ng-devui/utils';
import { Subject } from 'rxjs';
import { PopoverComponent } from './popover.component';
import { PopoverType, PositionType, TriggerType } from './popover.types';
import * as i0 from "@angular/core";
export declare class PopoverDirective implements OnInit, OnDestroy {
private triggerElementRef;
private overlayContainerRef;
private viewContainerRef;
private injector;
private componentFactoryResolver;
private devConfigService;
private doc;
popoverComponentRef: ComponentRef<PopoverComponent>;
_content: string | HTMLElement | TemplateRef<any>;
private subscription;
/**
* popover内容
*/
set content(_popoverContent: any);
/**
* 是否通过visible来控制popover状态
*/
controlled: boolean;
/**
* popover显示位置
*/
position: PositionType | PositionType[];
/**
* 是否显示动画
*/
showAnimation: boolean;
/**
* @deprecated Use showAnimation to replace.
*/
set showAnimate(isShowAnimate: any);
/**
* `scrollElement` 默认值是 `window `, 可以不传,只有当页面的滚动不在 window 且`appendToBody`属性为`true`上的时候才需要传递
*/
scrollElement: Element;
/**
* 自动隐藏系数,弹出框超出已设置的 scrollELment 边界时会自动隐藏,该值与弹出框的宽或高乘积控制超出边界多少后自动隐藏,为负数时不隐藏
*/
autoHideCoefficient: number;
/**
* `appendToBody`默认可以不传,仅当popover绑定元素外层宽高不够时,overflow为hidden,不想popover的弹出框被一并隐藏掉。
*/
appendToBody: boolean;
zIndex: number;
popType: PopoverType;
popMaxWidth: number;
trigger: TriggerType;
/**
* @deprecated
* 是否可以移入popover内部
*/
hoverToContent: boolean;
/**
* @deprecated Use mouseLeaveDelay to replace.
* 曾经是触发移入popover内部的延迟时间
* 废弃,现在使用参数mouseLeaveDelay代替
*/
set hoverDelayTime(delayTime: any);
popoverStyle: object;
mouseEnterDelay: number;
mouseLeaveDelay: number;
isEnter: boolean;
unsubscribe$: Subject<void>;
unsubscribeP$: Subject<void>;
document: Document;
set visible(_isShow: boolean);
private get eleAppendToBody();
constructor(triggerElementRef: ElementRef, overlayContainerRef: OverlayContainerRef, viewContainerRef: ViewContainerRef, injector: Injector, componentFactoryResolver: ComponentFactoryResolver, devConfigService: DevConfigService, doc: any);
onDocumentClick: (event: any) => void;
createPopover(): void;
addMouseEvent(): void;
show(): void;
destroy(): void;
ngOnInit(): void;
ngOnDestroy(): void;
hide(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<PopoverDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverDirective, "[dPopover]", ["dPopover"], { "content": { "alias": "content"; "required": false; }; "controlled": { "alias": "controlled"; "required": false; }; "position": { "alias": "position"; "required": false; }; "showAnimation": { "alias": "showAnimation"; "required": false; }; "showAnimate": { "alias": "showAnimate"; "required": false; }; "scrollElement": { "alias": "scrollElement"; "required": false; }; "autoHideCoefficient": { "alias": "autoHideCoefficient"; "required": false; }; "appendToBody": { "alias": "appendToBody"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "popType": { "alias": "popType"; "required": false; }; "popMaxWidth": { "alias": "popMaxWidth"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; "hoverToContent": { "alias": "hoverToContent"; "required": false; }; "hoverDelayTime": { "alias": "hoverDelayTime"; "required": false; }; "popoverStyle": { "alias": "popoverStyle"; "required": false; }; "mouseEnterDelay": { "alias": "mouseEnterDelay"; "required": false; }; "mouseLeaveDelay": { "alias": "mouseLeaveDelay"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, {}, never, never, false, never>;
}