UNPKG

generator-wxnode-boilerplate

Version:

Yeoman generator for wxnode boilerplate

54 lines (45 loc) 1.21 kB
import Vue from 'vue'; import Tips from '../components/Tips.vue'; const tips: any = Tips; const MessageConstructor = Vue.extend(tips); let instance; const instances = []; let seed = 1; let zIndex = 9999; const Message = function(options) { if (Vue.prototype.$isServer) return; options = options || {}; if (typeof options === 'string') { options = { message: options, }; } const id = 'tips_' + seed++; instance = new MessageConstructor({ data: options, }); instance.id = id; instance.vm = instance.$mount(); document.body.appendChild(instance.vm.$el); instance.vm.visible = true; instance.dom = instance.vm.$el; instance.dom.style.zIndex = zIndex++; instances.push(instance); return instance.vm; }; ['suc', 'err'].forEach(type => { Message[type] = options => { if (typeof options === 'string') { options = { message: options, }; } options.type = type === 'suc' ? 'success' : 'error'; return Message(options); }; }); export default { install: function(Vue, opts = {}) { Vue.prototype.$tips = Message; }, };