Advertisement
BoyanGyurov

Untitled

Oct 31st, 2022
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. async function lockedProfile() {
  2. let main = document.getElementById('main')
  3.  
  4. let response = await fetch(`http://localhost:3030/jsonstore/advanced/profiles`);
  5. if (!response.ok) {
  6. throw new Error('Error');
  7. }
  8. let data = await response.json();
  9.  
  10.  
  11. Object.values(data).forEach(el => {
  12.  
  13. let div = document.createElement('div')
  14. div.className = 'profile'
  15. div.innerHTML = `<img src="./iconProfile2.png" class="userIcon" />
  16. <label>Lock</label>
  17. <input type="radio" name="user1Locked" value="lock" checked>
  18. <label>Unlock</label>
  19. <input type="radio" name="user1Locked" value="unlock"><br>
  20. <hr>
  21. <label>Username</label>
  22. <input type="text" name="user1Username" value="${el.username}" disabled readonly />
  23. <div class="user1Username">
  24. <hr>
  25. <label>Email:</label>
  26. <input type="email" name="user1Email" value="${el.email}" disabled readonly />
  27. <label>Age:</label>
  28. <input type="text" name="user1Age" value="${el.age}" disabled readonly />
  29. </div>
  30. <button>Show more</button>
  31.  
  32. `
  33.  
  34. Array.from(div.querySelectorAll('button')).forEach(button =>
  35. button.addEventListener('click', onClick))
  36.  
  37. main.appendChild(div)
  38.  
  39. function onClick(ev) {
  40. let profile = ev.target.parentElement
  41.  
  42. console.log(profile);
  43.  
  44. let isActive = profile.querySelector('input[value="unlock"]').checked
  45. if (isActive) {
  46. let info = Array.from(profile.querySelectorAll('div.user1Username')).find(p => p.className.includes('Username'))
  47.  
  48. console.log(info);
  49.  
  50. if (ev.target.textContent == 'Show more') {
  51. ev.target.textContent = 'Hide it'
  52. info.style.display = 'block'
  53. } else {
  54. ev.target.textContent = 'Show more'
  55. info.style.display = 'none'
  56. }
  57. }
  58. }
  59. })
  60.  
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement