function makeErrMsgViewHTML(msg) { return ` <div class="error-item shadow alert alert-danger alert-dismissible fade" role="alert"> <strong>Error:</strong> ${ msg } <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> `; } function initErrMsgView(view, drawTimeout, hideTimeout) { const tempContainer = document.createElement('div'); tempContainer.innerHTML = view; view = tempContainer.querySelector(".error-item"); setTimeout(() => view.classList.add("show"), drawTimeout); if(typeof hideTimeout != "undefined") { setTimeout( () => { view.classList.remove("show"); setTimeout(() => $(view).remove(), 250); }, hideTimeout + drawTimeout ); } view.querySelector(".btn-close").addEventListener("click", e => { view.classList.remove("show"); }); return view; } function createErrMsg(msg) { let view = makeErrMsgViewHTML(msg); view = initErrMsgView(view, 100); return view; } function pushErrMsg(msg) { const container = $(".component.errors-center"); const msgView = createErrMsg(msg); container.append(msgView); } $(document).ready(function() { });