Advertisement
Silviya7

3LoadGames

Jul 5th, 2024
749
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //TODO...
  2.  
  3. const baseURL= 'http://localhost:3030/jsonstore/games';
  4.  
  5.  
  6. const LoadGamesBtn=document.getElementById('load-games');
  7. const EditgameBtn=document.getElementById('edit-game');
  8.  
  9. const ListGame=document.getElementById('games-list');
  10. const BtnAdd= document.getElementById('add-game');
  11. const BtnEdit= document.getElementById('edit-game');
  12.  
  13. //input fields
  14.   const Elname=document.getElementById('g-name');
  15.   const Eltype=document.getElementById('type');
  16.   const Elplayers=document.getElementById('players');
  17.  
  18.   let idgame='';
  19. const LoadGames = async()=> {
  20.  
  21.      //Fetch all games
  22.      const response = await fetch(baseURL);
  23.      const data= await response.json();
  24.      console.log(Object.values(data));
  25.  
  26.      ListGame.innerHTML='';
  27.      for (const game of Object.values(data)) {
  28.        
  29.         const Elp1= document.createElement('p');
  30.         Elp1.textContent=game.name;
  31.         const Elp2= document.createElement('p');
  32.         Elp2.textContent=game.players;
  33.         const Elp3= document.createElement('p');
  34.         Elp3.textContent=game.type;
  35.  
  36.         const Containerp= document.createElement('div');
  37.         Containerp.classList.add('content');
  38.         Containerp.appendChild(Elp1);
  39.         Containerp.appendChild(Elp2);
  40.         Containerp.appendChild(Elp3);
  41.  
  42.         const btnChange=document.createElement('button');
  43.         btnChange.classList.add('change-btn');
  44.         btnChange.textContent='Change';
  45.  
  46.         const btnDelete=document.createElement('button');
  47.         btnDelete.classList.add('delete-btn');
  48.         btnDelete.textContent='Delete';
  49.  
  50.         const Containerbtns=document.createElement('div');
  51.         Containerbtns.classList.add('buttons-container');
  52.  
  53.         Containerbtns.appendChild(btnChange);
  54.         Containerbtns.appendChild(btnDelete);
  55.  
  56.         const Containergame= document.createElement('div');
  57.         Containergame.classList.add('board-game');
  58.  
  59.         Containergame.appendChild(Containerp);
  60.         Containergame.appendChild(Containerbtns);
  61.  
  62.         ListGame.appendChild(Containergame);
  63.  
  64.         btnChange.addEventListener('click',()=>{
  65.             idgame= game._id;
  66.             Elname.value=game.name;
  67.             Eltype.value=game.type;
  68.              Elplayers.value=game.players;
  69.  
  70.             BtnAdd.setAttribute('disabled','disabled');
  71.             BtnEdit.removeAttribute('disabled');
  72.         })
  73.  
  74.         btnDelete.addEventListener('click',()=>{
  75.            
  76.             const response=  fetch(`${baseURL}/${game._id}`,{
  77.             method:'DELETE'
  78.             });
  79.  
  80.             Containergame.remove();
  81.  
  82.             idgame=null;
  83.            LoadGames();
  84.         })
  85.      }
  86.  
  87.      BtnEdit.setAttribute('disabled','disabled');
  88. }
  89.  
  90. LoadGamesBtn.addEventListener('click',LoadGames);
  91.  
  92. BtnAdd.addEventListener('click',async(e)=>{
  93.  
  94.     if(Elname.value=='' || Eltype.value ==''|| Elplayers.value==''){
  95.        return;
  96.     }
  97.     e.preventDefault();
  98.     const name=Elname.value;
  99.     const type=Eltype.value;
  100.     const players=Elplayers.value;
  101.  
  102.  
  103.     //create post request
  104.   const response= await fetch(baseURL, {
  105.     method :'POST',
  106.     headers:{
  107.     'content-type':'application/json',
  108.     },
  109.     body: JSON.stringify({name,type,players }),
  110.     });
  111.  
  112.  
  113.     Elname.value='';
  114.     Eltype.value='';
  115.     Elplayers.value='';
  116.     LoadGames();
  117. })
  118.  
  119. BtnEdit.addEventListener('click',async()=>{
  120.     const name=Elname.value;
  121.     const type=Eltype.value;
  122.     const players=Elplayers.value;
  123.  
  124.     //make put request
  125.     const response= await fetch(`${baseURL}/${idgame}`,{
  126.         method:'PUT',
  127.         headers:{
  128.           'content-type':'application/json',
  129.         },
  130.    
  131.         body:JSON.stringify({
  132.           _id: idgame,
  133.          name,
  134.          type,
  135.          players
  136.    
  137.       })
  138.       });
  139.  
  140.      
  141.       Elname.value='';
  142.       Eltype.value='';
  143.       Elplayers.value='';
  144.       LoadGames();
  145.        BtnEdit.setAttribute('disabled','disabled');
  146.        BtnAdd.removeAttribute('disabled');
  147.  
  148.    
  149.        idgame=null;
  150. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement