Advertisement
Liliana797979

task manager - js advanced exam

Oct 1st, 2021
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     let open = document.getElementsByTagName('section')[1];
  3.     let inProgress = document.getElementsByTagName('section')[2];
  4.     let complete = document.getElementsByTagName('section')[3];
  5.  
  6.     let task = document.getElementById('task');
  7.     let description = document.getElementById('description');
  8.     let dueDate = document.getElementById('date');
  9.     let btnAdd = document.getElementById('add');
  10.  
  11.     function createElement(type, text, className) {
  12.         let result = document.createElement(type);
  13.  
  14.         result.textContent = text;
  15.  
  16.         if (className) {
  17.             result.className = className;
  18.         }
  19.         return result;
  20.     }
  21.  
  22.     btnAdd.addEventListener('click', e => {
  23.         e.preventDefault();
  24.  
  25.         if (task.value == '' || description.value == '' || dueDate.value == '') {
  26.             return;
  27.         };
  28.  
  29.         let article = createElement('article');
  30.         let h3 = createElement('h3', task.value);
  31.         let pDescription = createElement('p','Description: '+ description.value);
  32.         let pDueDate = createElement('p','Due Date: '+ dueDate.value);
  33.         let flexClass = createElement('div', undefined, 'flex');
  34.         let greenButton = createElement('button', 'Start', 'green')
  35.         let redButton = createElement('button', 'Delete', 'red');
  36.  
  37.         flexClass.appendChild(greenButton);
  38.         flexClass.appendChild(redButton);
  39.  
  40.         article.appendChild(h3);
  41.         article.appendChild(pDescription);
  42.         article.appendChild(pDueDate);
  43.         article.appendChild(flexClass);
  44.  
  45.         open.children[1].appendChild(article);
  46.  
  47.         task.value = '';
  48.         description.value = '';
  49.         dueDate.value = '';
  50.  
  51.         redButton.addEventListener('click', e => {
  52.             article.remove();
  53.         });
  54.  
  55.  
  56.         greenButton.addEventListener('click', e => {
  57.             inProgress.children[1].appendChild(article);
  58.             let finishButton = createElement('button', 'Finish', 'orange');
  59.             greenButton.remove();
  60.             flexClass.appendChild(finishButton);
  61.  
  62.             finishButton.addEventListener('click', e => {
  63.                 complete.children[1].appendChild(article);
  64.                 flexClass.remove();
  65.             })
  66.         })
  67.     })
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement