ngx-modialog-10
Version:
Modal / Dialog for Angular
46 lines (45 loc) • 1.55 kB
TypeScript
import { ComponentRef, Injector, ViewContainerRef, TemplateRef, Type } from '@angular/core';
import { ModalOverlay } from '../overlay/index';
import { DialogRef } from './dialog-ref';
import { OverlayContext } from '../models/overlay-context';
export declare enum DROP_IN_TYPE {
alert = 0,
prompt = 1,
confirm = 2
}
export declare type WideVCRef = ViewContainerRef | string;
export declare type ContainerContent = string | TemplateRef<any> | Type<any>;
export declare type OverlayPlugin = <T>(component: any, dialogRef: DialogRef<T>, config: OverlayConfig) => DialogRef<any>;
export interface OverlayConfig {
/**
* The context for the modal, attached to the dialog instance, DialogRef.context.
* Default: {}
*/
context?: OverlayContext;
injector?: Injector;
/**
* The element to block using the modal.
*/
viewContainer?: WideVCRef;
renderer?: OverlayRenderer;
/**
* Not used yet.
*/
overlayPlugins?: OverlayPlugin | Array<OverlayPlugin>;
}
export interface ModalComponent<T> {
dialog: DialogRef<T>;
}
export interface CloseGuard {
/**
* Invoked before a modal is dismissed.
*/
beforeDismiss?(): boolean | Promise<boolean>;
/**
* Invoked before a modal is closed.
*/
beforeClose?(): boolean | Promise<boolean>;
}
export declare abstract class OverlayRenderer {
abstract render(dialogRef: DialogRef<any>, vcRef: ViewContainerRef, injector?: Injector): ComponentRef<ModalOverlay>;
}