mand-mobile/types/dialog.d.ts

48 lines
1.1 KiB
TypeScript
Raw Normal View History

2018-03-26 16:04:04 +08:00
import Vue from 'vue'
2018-08-01 18:51:38 +08:00
import { MandComponent } from './component'
2018-03-26 16:04:04 +08:00
export type DialogOptions = {
title?: string
content?: string
confirmText?: string
onConfirm?: () => void
}
export type DialogAlertOptions = {
icon?: string,
closable?: boolean,
2018-03-26 16:04:04 +08:00
} & DialogOptions
export type DialogConfirmOptions = {
cancelText?: string
} & DialogAlertOptions
export type DialogSucceedOptions = {
cancelText?: string,
closable?: boolean,
} & DialogOptions
export type DialogFailedOptions = DialogSucceedOptions
2018-08-01 18:51:38 +08:00
export interface IDialog {
2018-03-26 16:04:04 +08:00
confirm(options: DialogConfirmOptions): Vue
alert(options: DialogAlertOptions): Vue
succeed(options: DialogSucceedOptions): Vue
failed(options: DialogFailedOptions): Vue
closeAll(): void
2018-03-26 16:04:04 +08:00
}
2018-08-01 00:52:11 +08:00
declare module 'vue/types/vue' {
interface Vue {
2018-08-01 18:51:38 +08:00
$dialog: IDialog
2018-08-01 00:52:11 +08:00
}
}
2018-08-01 18:51:38 +08:00
export class Dialog extends MandComponent {
static confirm(options: DialogConfirmOptions): Vue
static alert(options: DialogAlertOptions): Vue
static succeed(options: DialogSucceedOptions): Vue
static failed(options: DialogFailedOptions): Vue
static closeAll(): void
}