ngx-modal-dialog
Version:
Dynamic modal dialog for Angular
40 lines (39 loc) • 1.26 kB
TypeScript
import { ComponentRef } from '@angular/core';
import { Observable, Subject } from 'rxjs';
export interface IModalDialog {
dialogInit: (reference: ComponentRef<IModalDialog>, options: Partial<IModalDialogOptions<any>>) => void;
}
export interface IModalDialogOptions<T> {
title: string;
childComponent: any;
onClose: () => Promise<any> | Observable<any> | boolean;
actionButtons: IModalDialogButton[];
data: T;
placeOnTop: boolean;
settings: Partial<IModalDialogSettings>;
closeDialogSubject: Subject<void>;
}
export declare type ModalDialogOnAction = () => Promise<any> | Observable<any> | boolean | void;
export interface IModalDialogButton {
text: string;
buttonClass?: string;
onAction?: ModalDialogOnAction;
}
export interface IModalDialogSettings {
overlayClass: string;
overlayAnimationTriggerClass: string;
modalClass: string;
modalAnimationTriggerClass: string;
modalDialogClass: string;
contentClass: string;
headerClass: string;
headerTitleClass: string;
closeButtonClass: string;
closeButtonTitle: string;
bodyClass: string;
footerClass: string;
alertClass: string;
alertDuration: number;
buttonClass: string;
notifyWithAlert: boolean;
}