viligen

taskManager2

Jun 21st, 2022
824
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     const [task, description, date] = document.querySelectorAll(
  3.         'form input, textarea'
  4.     );
  5.     const [_, labelDescription, labelDate] = Array.from(
  6.         document.querySelectorAll('form label')
  7.     ).map((l) => l.textContent);
  8.  
  9.     const btnAdd = document.getElementById('add');
  10.  
  11.     const [__, divOrange, divYellow, divGreen] = document.querySelectorAll(
  12.         'section div:last-of-type'
  13.     );
  14.     console.log(divOrange, divYellow, divGreen);
  15.  
  16.     btnAdd.addEventListener('click', (e) => {
  17.         e.preventDefault();
  18.         if ([task, description, date].some((f) => f.value === '')) {
  19.             return;
  20.         }
  21.         let newArticle = document.createElement('article');
  22.         newArticle.innerHTML = `
  23.         <h3>${task.value}</h3>
  24.         <p>${labelDescription}: ${description.value}</p>
  25.         <p>${labelDate}: ${date.value}</p>
  26.         <div class="flex">
  27.         <button class="green">Start</button>
  28.          <button class="red">Delete</button>
  29.          </div>`;
  30.  
  31.         const [btnStart, btnDelete] = newArticle.querySelectorAll('button');
  32.  
  33.         divOrange.appendChild(newArticle);
  34.         [task, description, date].forEach((e) => (e.value = ''));
  35.  
  36.         btnDelete.addEventListener('click', (e) => {
  37.             newArticle.remove();
  38.         });
  39.         btnStart.addEventListener('click', (e) => {
  40.             divYellow.appendChild(newArticle);
  41.             btnStart.remove();
  42.             let btnFinish = document.createElement('button');
  43.             btnFinish.className = 'orange';
  44.             btnFinish.textContent = 'Finish';
  45.             newArticle.querySelector('div').appendChild(btnFinish);
  46.  
  47.             btnFinish.addEventListener('click', (e) => {
  48.                 divGreen.appendChild(newArticle);
  49.                 newArticle.querySelector('div').remove();
  50.             });
  51.         });
  52.     });
  53. }
Advertisement
Add Comment
Please, Sign In to add comment