37 lines
906 B
JavaScript
37 lines
906 B
JavaScript
import Notification from './notification.vue';
|
|
import Vue from 'vue';
|
|
|
|
Notification.newInstance = properties => {
|
|
const _props = properties || {};
|
|
|
|
const Instance = new Vue({
|
|
render (h) {
|
|
return h(Notification, {
|
|
props: _props
|
|
});
|
|
}
|
|
});
|
|
|
|
const component = Instance.$mount();
|
|
document.body.appendChild(component.$el);
|
|
const notification = Instance.$children[0];
|
|
|
|
return {
|
|
notice (noticeProps) {
|
|
notification.add(noticeProps);
|
|
},
|
|
remove (name) {
|
|
notification.close(name);
|
|
},
|
|
component: notification,
|
|
destroy (element) {
|
|
notification.closeAll();
|
|
setTimeout(function() {
|
|
document.body.removeChild(document.getElementsByClassName(element)[0]);
|
|
}, 500);
|
|
}
|
|
};
|
|
};
|
|
|
|
export default Notification;
|