@daiyu-5577/quickbuild
Version:
front-end build service
40 lines (39 loc) • 1.07 kB
JavaScript
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;