123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- import Vue, { VNode } from 'vue'
- import { MessageType } from './message'
- export type MessageBoxCloseAction = 'confirm' | 'cancel' | 'close'
- export type MessageBoxData = MessageBoxInputData | MessageBoxCloseAction
- export interface MessageBoxInputData {
- value: string,
- action: MessageBoxCloseAction
- }
- export interface MessageBoxInputValidator {
- (value: string): boolean | string
- }
- export declare class ElMessageBoxComponent extends Vue {
- title: string
- message: string
- type: MessageType
- iconClass: string
- customClass: string
- showInput: boolean
- showClose: boolean
- inputValue: string
- inputPlaceholder: string
- inputType: string
- inputPattern: RegExp
- inputValidator: MessageBoxInputValidator
- inputErrorMessage: string
- showConfirmButton: boolean
- showCancelButton: boolean
- action: MessageBoxCloseAction
- dangerouslyUseHTMLString: boolean
- confirmButtonText: string
- cancelButtonText: string
- confirmButtonLoading: boolean
- cancelButtonLoading: boolean
- confirmButtonClass: string
- confirmButtonDisabled: boolean
- cancelButtonClass: string
- editorErrorMessage: string
- }
- /** Options used in MessageBox */
- export interface ElMessageBoxOptions {
- /** Title of the MessageBox */
- title?: string
- /** Content of the MessageBox */
- message?: string | VNode
- /** Message type, used for icon display */
- type?: MessageType
- /** Custom icon's class */
- iconClass?: string
- /** Custom class name for MessageBox */
- customClass?: string
- /** MessageBox closing callback if you don't prefer Promise */
- callback?: (action: MessageBoxCloseAction, instance: ElMessageBoxComponent) => void
- /** Callback before MessageBox closes, and it will prevent MessageBox from closing */
- beforeClose?: (action: MessageBoxCloseAction, instance: ElMessageBoxComponent, done: (() => void)) => void
- /** Whether to lock body scroll when MessageBox prompts */
- lockScroll?: boolean
- /** Whether to show a cancel button */
- showCancelButton?: boolean
- /** Whether to show a confirm button */
- showConfirmButton?: boolean
- /** Whether to show a close button */
- showClose?: boolean
- /** Text content of cancel button */
- cancelButtonText?: string
- /** Text content of confirm button */
- confirmButtonText?: string
- /** Custom class name of cancel button */
- cancelButtonClass?: string
- /** Custom class name of confirm button */
- confirmButtonClass?: string
- /** Whether to align the content in center */
- center?: boolean
- /** Whether message is treated as HTML string */
- dangerouslyUseHTMLString?: boolean
- /** Whether to use round button */
- roundButton?: boolean
- /** Whether MessageBox can be closed by clicking the mask */
- closeOnClickModal?: boolean
- /** Whether MessageBox can be closed by pressing the ESC */
- closeOnPressEscape?: boolean
- /** Whether to close MessageBox when hash changes */
- closeOnHashChange?: boolean
- /** Whether to show an input */
- showInput?: boolean
- /** Placeholder of input */
- inputPlaceholder?: string
- /** Initial value of input */
- inputValue?: string
- /** Regexp for the input */
- inputPattern?: RegExp
- /** Input Type: text, textArea, password or number */
- inputType?: string
- /** Validation function for the input. Should returns a boolean or string. If a string is returned, it will be assigned to inputErrorMessage */
- inputValidator?: MessageBoxInputValidator
- /** Error message when validation fails */
- inputErrorMessage?: string
- /** Whether to distinguish canceling and closing */
- distinguishCancelAndClose?: boolean
- }
- export interface ElMessageBoxShortcutMethod {
- (message: string, title: string, options?: ElMessageBoxOptions): Promise<MessageBoxData>
- (message: string, options?: ElMessageBoxOptions): Promise<MessageBoxData>
- }
- export interface ElMessageBox {
- /** Show a message box */
- (message: string, title?: string, type?: string): Promise<MessageBoxData>
- /** Show a message box */
- (options: ElMessageBoxOptions): Promise<MessageBoxData>
- /** Show an alert message box */
- alert: ElMessageBoxShortcutMethod
- /** Show a confirm message box */
- confirm: ElMessageBoxShortcutMethod
- /** Show a prompt message box */
- prompt: ElMessageBoxShortcutMethod
- /** Set default options of message boxes */
- setDefaults (defaults: ElMessageBoxOptions): void
- /** Close current message box */
- close (): void
- }
- declare module 'vue/types/vue' {
- interface Vue {
- /** Show a message box */
- $msgbox: ElMessageBox
- /** Show an alert message box */
- $alert: ElMessageBoxShortcutMethod
- /** Show a confirm message box */
- $confirm: ElMessageBoxShortcutMethod
- /** Show a prompt message box */
- $prompt: ElMessageBoxShortcutMethod
- }
- }
|