georgiev955

Untitled

Oct 14th, 2023
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. function solve() {
  2. const firstNameEl = document.getElementById("first-name");
  3. const lastNameEl = document.getElementById("last-name");
  4. const ageEl = document.getElementById("age");
  5. const genderEl = document.getElementById("genderSelect");
  6. const dishDescriptionEl = document.getElementById("task");
  7. const submitBtn = document.getElementById("form-btn");
  8. const inProgressUl = document.getElementById("in-progress");
  9. const finishedUl = document.getElementById("finished");
  10. const clearBtn = document.getElementById("clear-btn");
  11. const progressCount = document.getElementById("progress-count");
  12.  
  13. submitBtn.addEventListener("click", submitDish);
  14.  
  15. function submitDish(e) {
  16. e.preventDefault;
  17.  
  18. const firstName = firstNameEl.value;
  19. const lastName = lastNameEl.value;
  20. const age = ageEl.value;
  21. const gender = genderEl.value;
  22. const dishDescription = dishDescriptionEl.value;
  23.  
  24. if (!firstName || !lastName || !age || !dishDescription) {
  25. return;
  26. }
  27.  
  28. //create elements;
  29. const listElement = document.createElement('li');
  30. const articleElement = document.createElement('article');
  31. const h4Element = document.createElement('h4');
  32. const genderAgeElement = document.createElement('p');
  33. const descriptionElement = document.createElement('p');
  34. const editBtn = document.createElement('button');
  35. const completeBtn = document.createElement('button');
  36.  
  37. //add classes;
  38. listElement.classList.add('each-line');
  39. editBtn.classList.add('edit-btn');
  40. completeBtn.classList.add('complete-btn');
  41.  
  42. //add event listeners;
  43. editBtn.addEventListener("click", editInfo);
  44. completeBtn.addEventListener("click", completeDish);
  45.  
  46. //add text content;
  47. h4Element.textContent = `${firstName} ${lastName}`;
  48. genderAgeElement.textContent = `${gender}, ${age}`;
  49. descriptionElement.textContent = `Dish description: ${dishDescription}`;
  50. editBtn.textContent = 'Edit';
  51. completeBtn.textContent = 'Mark as complete';
  52.  
  53. //append children;
  54. inProgressUl.appendChild(listElement);
  55. listElement.appendChild(articleElement);
  56. listElement.appendChild(editBtn);
  57. listElement.appendChild(completeBtn);
  58. articleElement.appendChild(h4Element);
  59. articleElement.appendChild(genderAgeElement);
  60. articleElement.appendChild(descriptionElement);
  61.  
  62. //clear input fields;
  63. firstNameEl.value = '';
  64. lastNameEl.value = '';
  65. ageEl.value = '';
  66. dishDescriptionEl.value = '';
  67.  
  68. //increace counter;
  69. progressCount.textContent = Number(progressCount.textContent) + 1;
  70.  
  71. function editInfo() {
  72. firstNameEl.value = firstName;
  73. lastNameEl.value = lastName
  74. ageEl.value = age;
  75. genderEl.value = gender;
  76. dishDescriptionEl.value = dishDescription;
  77.  
  78. listElement.remove();
  79. progressCount.textContent = Number(progressCount.textContent) - 1;
  80. }
  81.  
  82. function completeDish() {
  83. finishedUl.appendChild(listElement);
  84. editBtn.remove();
  85. completeBtn.remove();
  86.  
  87. progressCount.textContent = Number(progressCount.textContent) - 1;
  88. }
  89.  
  90. clearBtn.addEventListener("click", clear);
  91.  
  92. function clear() {
  93. finishedUl.innerHTML = '';
  94. }
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment