Advertisement
pacho_the_python

Untitled

Mar 28th, 2023
643
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function attachEvents() {
  2.     let load_posts_url = `http://localhost:3030/jsonstore/blog/posts`
  3.     let view_comments_url = `http://localhost:3030/jsonstore/blog/comments`
  4.     const load_btn = document.getElementById('btnLoadPosts')
  5.     const view_btn = document.getElementById('btnViewPost')
  6.     const select_element = document.getElementById('posts')
  7.     const h_1 = document.getElementById('post-title')
  8.     const body_p = document.getElementById('post-body')
  9.     const ul = document.getElementById('post-comments')
  10.  
  11.     load_btn.addEventListener('click', load_posts)
  12.     view_btn.addEventListener('click', view_posts)
  13.  
  14.     let post_info = {}
  15.  
  16.     function load_posts() {
  17.         fetch(load_posts_url)
  18.             .then((res) => res.json())
  19.             .then((post_data) => {
  20.                 post_info = post_data
  21.                 select_element.innerHTML = ""
  22.                 for (const data in post_data) {
  23.                     let current_key = post_data[data]
  24.                     let option_element = document.createElement('option')
  25.                     option_element.value = current_key.id
  26.                     option_element.textContent = current_key.title
  27.                     select_element.appendChild(option_element)
  28.                 }
  29.             })
  30.     }
  31.  
  32.     function view_posts() {
  33.         let current_post = select_element.value
  34.         h_1.textContent = post_info[current_post].title
  35.         body_p.textContent = post_info[current_post].body
  36.  
  37.         fetch(view_comments_url)
  38.             .then((res) => res.json())
  39.             .then((post_data) => {
  40.                 let post_list = []
  41.                 for (const post in post_data) {
  42.                     if (current_post === post_data[post].postId) {
  43.                         post_list.push(post_data[post])
  44.                     }
  45.                 }
  46.                 ul.innerHTML = ''
  47.                 for (const i of post_list) {
  48.                     let li = document.createElement('li')
  49.                     li.id = i.id
  50.                     li.textContent = i.text
  51.                     ul.appendChild(li)
  52.                 }
  53.             })
  54.     }
  55. }
  56.  
  57. attachEvents();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement