UNPKG

dtoaster

Version:
57 lines (43 loc) 1.71 kB
import Toast from './components/Toast.vue' const DToaster = { install: function (Vue, options) { let shownToasts = [] if (!options) { options = {} } function showToast(props) { return new Promise(function(resolve, reject) { const ToastrComponent = Vue.extend(Toast) var propsData = options if(options.presets != undefined && options.presets.length > 0) { if(props.preset != undefined) { var idx = options.presets.findIndex(e => e.name == props.preset) if(idx != -1) propsData = Object.assign(propsData, options.presets[idx]) else { reject({error: true, what: "Unknown preset"}) return } } } propsData = Object.assign(propsData, props) var component = new ToastrComponent({ el: document.createElement('div'), propsData, }) component.$on("hidden", () => { component.$destroy(); }) //shownToasts.push(component) resolve({error: false, what: "Success", reward: component}) }) } Vue.prototype.$dtoast = { pop(props) { return showToast(props) } } } } export default DToaster