@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
48 lines (47 loc) • 1.84 kB
TypeScript
import { OnDestroy, EventEmitter, ElementRef, SimpleChanges, OnChanges, AfterContentInit, QueryList } from '@angular/core';
import { CdkOverlayOrigin } from '@angular/cdk/overlay';
import { Subject, Observable } from 'rxjs';
import { DropDownService } from './dropdown.service';
export declare class DropDownDirective implements OnDestroy, OnChanges, AfterContentInit {
private dropdownService;
el: ElementRef;
parentDropdown: DropDownDirective;
dropdownChildren: QueryList<DropDownDirective>;
private hoverSubscription;
/**
* 控制是否打开dropdown,绑定一个devui-dropdown-open class
*/
isOpen: boolean;
addClass: boolean;
disabled: boolean;
/**
* dropdown触发方式
*/
trigger: 'click' | 'hover';
/**
* 关闭区域,默认点击菜单链接也会关闭,blank点击其他空白区域才关闭
*/
closeScope: 'all' | 'blank' | 'none';
closeOnMouseLeaveMenu: boolean;
toggleEvent: EventEmitter<boolean>;
visibleSubject: Subject<boolean>;
private _isOpen;
menuEl: ElementRef;
toggleEl: ElementRef;
cdkConnectedOverlayOrigin: CdkOverlayOrigin;
private _appendToBody;
appendToBody: boolean;
dropDownMenu: any;
dropDownToggle: any;
constructor(dropdownService: DropDownService, el: ElementRef, parentDropdown: DropDownDirective);
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
ngAfterContentInit(): void;
toggle(): boolean;
focusToggleElement(): void;
updateCdkConnectedOverlayOrigin(): void;
subscribeHoverAction(observable: Observable<boolean>): void;
private unsubscribeHoverAction;
handleHoverSubscriptionIfTriggerIsHover(): void;
simulateEventDispatch($event: any, target?: any): void;
}