UNPKG

@daiyu-5577/quickbuild

Version:

front-end build service

40 lines (39 loc) 1.07 kB
import { creatLink } from './BaseModal.js'; import { baseRoute } from './env.js'; class Toast { constructor() { this.isLink = false; } creatDiv(isRemove = true) { const div = document.createElement('div'); div.className = '_toast'; div.style.position = 'fixed'; document.body.appendChild(div); isRemove && div.addEventListener('animationend', () => { div.remove(); }); return div; } msg(str) { const div = this.creatDiv(); div.innerHTML = str; return div; } err(str) { const div = this.creatDiv(); div.innerHTML = str; div.style.backgroundColor = 'rgba(206, 40, 40, 0.9)'; return div; } } const toast = new Toast(); const prosyToast = new Proxy(toast, { get(target, p, receiver) { if (!target.isLink) { creatLink(`${baseRoute}/static/pages/Toast.css`); target.isLink = true; } return Reflect.get(target, p, receiver); } }); export default prosyToast;