github.com/ngocphuongnb/tetua@v0.0.7-alpha/app/themes/default/assets/js/manage.js (about) 1 function approvePost(postID, e) { 2 fetch(`/manage/posts/${postID}/approve`, { method: "POST" }) 3 .then(function (response) { 4 if (response.status !== 200) { 5 alert(`Error approve post: ${postID}`); 6 return; 7 } 8 var elm = e.target.closest("li"); 9 elm.querySelector(".status.error").remove(); 10 }) 11 .catch(function (err) { 12 console.error(err); 13 alert(`Error approve post: ${postID}`); 14 }); 15 } 16 17 window.addEventListener("load", function () { 18 var selector = `.approve-post`; 19 var nodeElms = Array.from(document.querySelectorAll(selector)); 20 21 for (var nodeElm of nodeElms) { 22 nodeElm.addEventListener("click", function (e) { 23 e.preventDefault(); 24 e.stopImmediatePropagation(); 25 var postID = e.target.getAttribute("data-id"); 26 27 if (!postID || !confirm(`Are you sure you want to approve this post?`)) { 28 return; 29 } 30 31 approvePost(postID, e); 32 }); 33 } 34 });