UNPKG

drip-ui

Version:

Lightweight Mobile UI Components built on Vue

75 lines (60 loc) 1.28 kB
import Vue from 'vue' import DirpConfirm from './Confirm' import { isServer } from '../utils' let instance const initInstance = () => { instance = new(Vue.extend(DirpConfirm))({ el: document.createElement('div') }) document.body.appendChild(instance.$el) } const Confirm = (options) => { /* istanbul ignore if */ if (isServer) { return } if (!instance) { initInstance() } return Object.assign(instance, ...options) } Confirm.defaultOptions = { visible: '', content: '', hideCancel: false, hideConfirm: false, cancelText: '取消', confirmText: '确定', textAlign: 'center', fontWeight: '500', confirm: () => { instance.visible = false }, cancel: () => { instance.visible = false }, } Confirm.show = options => Confirm({ ...Confirm.currentOptions, visible: true, ...options }) Confirm.hide = () => { if (instance) { instance.visible = false } } Confirm.setDefaultOptions = options => { Object.assign(Confirm.currentOptions, options) } Confirm.resetDefaultOptions = () => { Confirm.currentOptions = { ...Confirm.defaultOptions} } Confirm.install = () => { Vue.use(DirpConfirm) } Vue.confirm = Vue.prototype.$confirm = Confirm Confirm.resetDefaultOptions() export default Confirm