74 lines
1.4 KiB
TypeScript
74 lines
1.4 KiB
TypeScript
import { DialogProps } from '../dialog';
|
|
|
|
export type DynamicDialogCloseType = 'config-close' | 'dialog-close' | undefined;
|
|
|
|
export interface DynamicDialogTemplates {
|
|
/**
|
|
* Custom header template.
|
|
*/
|
|
header?: any;
|
|
/**
|
|
* Custom footer template.
|
|
*/
|
|
footer?: any;
|
|
}
|
|
|
|
export interface DynamicDialogCloseOptions {
|
|
/**
|
|
* Custom data object
|
|
*/
|
|
data?: any;
|
|
/**
|
|
* Close type
|
|
* @see DynamicDialogCloseType
|
|
*/
|
|
type: DynamicDialogCloseType;
|
|
}
|
|
|
|
export interface DynamicDialogOptions {
|
|
/**
|
|
* Dialog Props
|
|
* @see DialogProps
|
|
*/
|
|
props?: DialogProps;
|
|
/**
|
|
* Dialog Slots
|
|
* @see DynamicDialogTemplates
|
|
*/
|
|
templates?: DynamicDialogTemplates;
|
|
/**
|
|
* Custom data object
|
|
*/
|
|
data?: any;
|
|
/**
|
|
* Closes the dialog.
|
|
* @see DynamicDialogCloseOptions
|
|
*/
|
|
onClose?(options?: DynamicDialogCloseOptions): void;
|
|
/**
|
|
* Optional
|
|
*/
|
|
[key: string]: any;
|
|
}
|
|
|
|
export interface DynamicDialogInstance {
|
|
/**
|
|
* Dynamic component for content template
|
|
*/
|
|
content: any;
|
|
/**
|
|
* Instance options
|
|
* @see DynamicDialogOptions
|
|
*/
|
|
options: DynamicDialogOptions;
|
|
/**
|
|
* Custom data object
|
|
*/
|
|
data: any;
|
|
/**
|
|
* Closes the dialog.
|
|
* @param {*} params - Parameters sent by the user to the root instance
|
|
*/
|
|
close: (params?: any) => void;
|
|
}
|