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  });