UNPKG

drip-ui

Version:

Lightweight Mobile UI Components built on Vue

63 lines (52 loc) 1.29 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import Vue from 'vue'; import DirpDialog from './Dialog'; import { isServer } from '../utils'; var instance; var initInstance = function initInstance() { instance = new (Vue.extend(DirpDialog))({ el: document.createElement('div') }); document.body.appendChild(instance.$el); }; var Dialog = function Dialog(options) { /* istanbul ignore if */ if (isServer) { return; } if (!instance) { initInstance(); } return _extends.apply(void 0, [instance].concat(options)); }; Dialog.defaultOptions = { visible: '', title: '', content: '', showClose: true, onHide: function onHide() { instance.visible = false; } }; Dialog.show = function (options) { return Dialog(_extends({}, Dialog.currentOptions, { visible: true }, options)); }; Dialog.hide = function () { if (instance) { instance.visible = false; } }; Dialog.setDefaultOptions = function (options) { _extends(Dialog.currentOptions, options); }; Dialog.resetDefaultOptions = function () { Dialog.currentOptions = _extends({}, Dialog.defaultOptions); }; Dialog.install = function () { Vue.use(DirpDialog); }; Vue.dialog = Vue.prototype.$dialog = Dialog; Dialog.resetDefaultOptions(); export default Dialog;