import { FocusOrigin } from '@angular/cdk/a11y'; import { OverlayRef } from '@angular/cdk/overlay'; import { SafeAny } from '@ngx-simple/core/types'; import { Observable } from 'rxjs'; import { DialogPosition } from './dialog-config'; import { SimDialogComponent } from './dialog.component'; /** 对话框生命周期的状态 */ export declare const enum SimDialogState { OPEN = 0, CLOSING = 1, CLOSED = 2 } /** * 引用通过SimDialog服务打开的对话框 */ export declare class SimDialogRef { private _overlayRef; _containerInstance: SimDialogComponent; readonly id: string; /** 在对话框中打开的组件实例 */ componentInstance: T; /** 是否允许用户关闭对话框 */ disableClose: boolean | undefined; /** 通知用户对话框已完成打开的Subject */ private readonly _afterOpened; /** 通知用户对话框关闭之后的Subject */ private readonly _afterClosed; /** 通知用户对话框关闭之前的Subject */ private readonly _beforeClosed; /** dialogResult 将传递给 afterClosed */ private _result; /** 处理退出时正在运行的超时,以防退出动画不触发 */ private _closeFallbackTimeout; /** 对话框的当前状态 */ private _state; constructor(_overlayRef: OverlayRef, _containerInstance: SimDialogComponent, id?: string); /** * 关闭对话框 * @param dialogResult 返回对话框打开组件的可选结果. */ close(dialogResult?: R): void; /** * 获取一个Observable,该对象在对话框完成打开时会得到通知 */ afterOpened(): Observable; /** * 获取一个Observable,该对象在对话框完成关闭之后时会得到通知。 */ afterClosed(): Observable; /** * 获取一个Observable,该对象在对话框完成关闭之前时会得到通知。 */ beforeClosed(): Observable; /** * 获取一个Observable,该对象在点击遮罩背景时会得到通知 */ backdropClick(): Observable; /** * 获取一个Observable,该对象在锁定浮层上的keydown事件时会得到通知 */ keydownEvents(): Observable; /** * 更新对话框的位置 * @param position 新对话框位置 */ updatePosition(position?: DialogPosition): this; /** * 更新对话框的宽度和高度 * @param width 对话框的新宽度 * @param height 对话框的新高度 */ updateSize(width?: string, height?: string): this; /** 获取对话框生命周期的当前状态 */ getState(): SimDialogState; /** * 通过更新对话框的状态并处理浮层来完成对话框关闭 */ private _finishDialogClose; /** 从overlayRef中获取位置策略对象 */ private _getPositionStrategy; } export declare function _closeDialogVia(ref: SimDialogRef, interactionType: FocusOrigin, result?: R): void;