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 }