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;
|
||
|
}
|