index.js
702 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import Vue from 'vue'
import FormDialog from './main'
export default config => {
const {
title,
submitSuccessMessage,
schema,
rules,
data = {},
onSubmit,
confirmButtonText
} = config
const Dialog = Vue.extend(FormDialog)
const dialog = new Dialog({
propsData: {
title,
schema,
rules,
submitSuccessMessage,
confirmButtonText,
data: JSON.parse(JSON.stringify(data)),
submitMethod: onSubmit
},
destroyed() {
document.body.removeChild(dialog.$el)
}
})
dialog.$on('closed', () => {
dialog.$destroy()
})
dialog.$mount()
dialog.show()
document.body.appendChild(dialog.$el)
return dialog
}