Advertisement
GeorgiLukanov87

Blog

Feb 28th, 2023 (edited)
800
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function attachEvents() {
  2.     let postElement = document.getElementById('posts');
  3.     const loadBtnElement = document.getElementById('btnLoadPosts');
  4.     const viewBtnElement = document.getElementById('btnViewPost');
  5.     const postBody = document.getElementById('post-body');
  6.     const postTitle = document.getElementById('post-title');
  7.     const postComments = document.getElementById('post-comments');
  8.  
  9.     loadBtnElement.addEventListener('click', loadPosts)
  10.     viewBtnElement.addEventListener('click', viewComments)
  11.  
  12.     let getPosts = {};
  13.  
  14.     function loadPosts() {
  15.         fetch(`http://localhost:3030/jsonstore/blog/posts`).then(response => response.json())
  16.             .then(data => {
  17.                 postElement.innerHTML = ''
  18.                 for (let objKey in data) {
  19.                     let value = data[objKey]["id"];
  20.                     let body = data[objKey]["body"];
  21.                     let title = data[objKey]['title'];
  22.                     if (!(value in getPosts)) {
  23.                         getPosts[value] = body
  24.                     }
  25.  
  26.                     let newValue = document.createElement('option');
  27.                     newValue.value = value;
  28.                     newValue.textContent = title;
  29.  
  30.                     postElement.appendChild(newValue);
  31.                 }
  32.  
  33.             })
  34.  
  35.     }
  36.  
  37.     function viewComments() {
  38.         fetch('http://localhost:3030/jsonstore/blog/comments').then(response => response.json())
  39.             .then(data => {
  40.                 postComments.innerHTML = ''
  41.                 let commentKey = postElement.value;
  42.                 let commentText = postElement.options[postElement.selectedIndex].text;
  43.                 postTitle.textContent = commentText;
  44.                 for (let i in data) {
  45.                     if (data[i]['postId'] === commentKey) {
  46.                         let newLiComment = document.createElement('li')
  47.                         newLiComment.setAttribute('id', data[i]['id'])
  48.                         newLiComment.textContent = data[i]['text']
  49.                         postComments.appendChild(newLiComment)
  50.                         postBody.textContent = getPosts[commentKey]
  51.  
  52.                     }
  53.  
  54.                 }
  55.             })
  56.     }
  57.  
  58.  
  59. }
  60.  
  61. attachEvents();
  62.  
  63.  
  64.  
  65.  
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement