Pijomir

Autumn Adventure

Feb 17th, 2024 (edited)
970
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     const timeElement = document.getElementById('time');
  3.     const dateElement = document.getElementById('date');
  4.     const placeElement = document.getElementById('place');
  5.     const eventNameElement = document.getElementById('event-name');
  6.     const emailElement = document.getElementById('email');
  7.     const addBtnElement = document.getElementById('add-btn');
  8.     const lastCheckListElement = document.getElementById('check-list');
  9.     const upcomingListElement = document.getElementById('upcoming-list');
  10.     const finishedListElement = document.getElementById('finished-list');
  11.     const clearBtnElement = document.getElementById('clear');
  12.  
  13.     clearBtnElement.addEventListener('click', () => {
  14.         finishedListElement.textContent = '';
  15.     });
  16.  
  17.     addBtnElement.addEventListener('click', onAddBtnClick);
  18.  
  19.     function createElements(typeOfEl, content) {
  20.         if (!content) {
  21.             return document.createElement(typeOfEl);
  22.         } else {
  23.             let element = document.createElement(typeOfEl);
  24.             element.textContent = content;
  25.             return element;
  26.         }
  27.     }
  28.  
  29.     function onAddBtnClick(e) {
  30.         const time = timeElement.value;
  31.         const date = dateElement.value;
  32.         const place = placeElement.value;
  33.         const eventName = eventNameElement.value;
  34.         const email = emailElement.value;
  35.  
  36.         const liElement = createElements('li');
  37.         liElement.className = 'event-content';
  38.  
  39.         const articleElement = createElements('article');
  40.         articleElement.appendChild(createElements('p', `Begins: ${date} at: ${time}`));
  41.         articleElement.appendChild(createElements('p', `In: ${place}`));
  42.         articleElement.appendChild(createElements('p', `Event: ${eventName}`));
  43.         articleElement.appendChild(createElements('p', `Contact: ${email}`));
  44.  
  45.         liElement.appendChild(articleElement);
  46.  
  47.         const editBtnElement = createElements('button', 'Edit');
  48.         editBtnElement.className = 'edit-btn';
  49.         editBtnElement.addEventListener('click', () => onEditBtnClick(time, date, place, eventName, email));
  50.  
  51.         const continueBtnElement = createElements('button', 'Continue');
  52.         continueBtnElement.className = 'continue-btn';
  53.         continueBtnElement.addEventListener('click', () => onContinueBtnClick(time, date, place, eventName, email));
  54.  
  55.         liElement.appendChild(editBtnElement);
  56.         liElement.appendChild(continueBtnElement);
  57.  
  58.  
  59.         lastCheckListElement.appendChild(liElement);
  60.         addBtnElement.parentElement.reset();
  61.         addBtnElement.disabled = true;
  62.     }
  63.  
  64.     function onEditBtnClick(time, date, place, eventName, email) {
  65.         timeElement.value = time;
  66.         dateElement.value = date;
  67.         placeElement.value = place;
  68.         eventNameElement.value = eventName;
  69.         emailElement.value = email;
  70.  
  71.         lastCheckListElement.textContent = '';
  72.         addBtnElement.disabled = false;
  73.     }
  74.  
  75.     function onContinueBtnClick(time, date, place, eventName, email) {
  76.         const liElement = createElements('li');
  77.         liElement.className = 'event-content';
  78.  
  79.         const articleElement = createElements('article');
  80.         articleElement.appendChild(createElements('p', `Begins: ${date} at: ${time}`));
  81.         articleElement.appendChild(createElements('p', `In: ${place}`));
  82.         articleElement.appendChild(createElements('p', `Event: ${eventName}`));
  83.         articleElement.appendChild(createElements('p', `Contact: ${email}`));
  84.  
  85.         liElement.appendChild(articleElement);
  86.  
  87.         const finishButtonElement = createElements('button', 'Move to Finished');
  88.         finishButtonElement.className = 'finished-btn';
  89.         finishButtonElement.addEventListener('click', () => onFinishBtnClick(time, date, place, eventName, email));
  90.  
  91.         liElement.appendChild(finishButtonElement);
  92.  
  93.         upcomingListElement.appendChild(liElement);
  94.         addBtnElement.disabled = false;
  95.         lastCheckListElement.textContent = '';
  96.     }
  97.  
  98.     function onFinishBtnClick(time, date, place, eventName, email) {
  99.         const liElement = createElements('li');
  100.         liElement.className = 'event-content';
  101.  
  102.         const articleElement = createElements('article');
  103.         articleElement.appendChild(createElements('p', `Begins: ${date} at: ${time}`));
  104.         articleElement.appendChild(createElements('p', `In: ${place}`));
  105.         articleElement.appendChild(createElements('p', `Event: ${eventName}`));
  106.         articleElement.appendChild(createElements('p', `Contact: ${email}`));
  107.  
  108.         liElement.appendChild(articleElement);
  109.  
  110.         finishedListElement.appendChild(liElement);
  111.         upcomingListElement.textContent = '';
  112.     }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment