Guest User

x

a guest
Oct 24th, 2020
267
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     const $lectureInput = document.querySelector('body > main > section.admin-view.section-view > div > div > form > div:nth-child(1) > input[type=text]');
  3.     const $dateInput = document.querySelector('body > main > section.admin-view.section-view > div > div > form > div:nth-child(2) > input[type=datetime-local]');
  4.     const $moduleInput = document.querySelector('body > main > section.admin-view.section-view > div > div > form > div:nth-child(3) > select');
  5.     const $addButton = document.querySelector('body > main > section.admin-view.section-view > div > div > form > div:nth-child(4) > button');
  6.     const $moduleDiv = document.querySelector('body > main > section.user-view.section-view > div'); //append the result here
  7.  
  8.  
  9.     $addButton.addEventListener('click', e => {
  10.         e.preventDefault();
  11.  
  12.         if ($moduleInput.value === 'Select module' || !$dateInput.value || !$lectureInput.value) {
  13.             return;
  14.         };
  15.  
  16.         let date = $dateInput.value;
  17.  
  18.         date = date.replace('-', '/');
  19.         date = date.replace('T', ' - ');
  20.         date = date.replace('-', '/');
  21.  
  22.         const $delButton = document.createElement('button');
  23.         $delButton.textContent = 'Del';
  24.         $delButton.className = 'red';
  25.  
  26.         const $h3 = document.createElement('h3');
  27.         $h3.textContent = `${$moduleInput.value.toUpperCase()}-MODULE`;
  28.  
  29.  
  30.         const $divResult = document.createElement('div'); //append h3 here
  31.         $divResult.className = 'module';
  32.  
  33.         const $ul = document.createElement('ul');
  34.  
  35.         const $li = document.createElement('li'); //append h4 here
  36.         $li.className = 'flex';
  37.  
  38.         const $h4 = document.createElement('h4');
  39.         $h4.textContent = `${$lectureInput.value} - ${date}`;
  40.  
  41.  
  42.         let x = Array.from(document.querySelectorAll('h3'));
  43.  
  44.         if (x.find(e => e.textContent == $h3.textContent)) {
  45.             let node = x.find(e => e.textContent == $h3.textContent)
  46.             let prnt = node.parentElement.querySelector('ul');
  47.             prnt.appendChild($li);
  48.             $li.appendChild($h4);
  49.             $li.appendChild($delButton);
  50.  
  51.  
  52.             sortList($ul)
  53.         } else {
  54.             $li.appendChild($h4);
  55.             $li.appendChild($delButton);
  56.  
  57.             $ul.appendChild($li)
  58.  
  59.             $divResult.appendChild($h3);
  60.             $divResult.appendChild($ul);
  61.  
  62.             $moduleDiv.appendChild($divResult);
  63.         }
  64.  
  65.  
  66.  
  67.  
  68.         $delButton.addEventListener('click', (e) => {
  69.             let lis = Array.from(document.getElementsByTagName('li'))
  70.  
  71.             if (lis.length === 1) {
  72.                 e.target.parentElement.parentElement.parentElement.remove();
  73.             } else {
  74.                 $li.remove();
  75.             }
  76.         })
  77.     })
  78.  
  79.  
  80.     function sortList(ul) {
  81.         var ux = document.getElementsByTagName('ul')[0];
  82.  
  83.         Array.from(ux.getElementsByTagName("li"))
  84.             .sort((a, b) => a.textContent.localeCompare(b.textContent))
  85.             .forEach(li => ul.appendChild(li));
  86.     }
  87. }
RAW Paste Data