Ivankooo1

Administration kolega

Jan 2nd, 2021 (edited)
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     let inputName = document.querySelector('input[name="lecture-name"]');
  3.     let inputDate = document.querySelector('input[name="lecture-date"]');
  4.     let inputOptions = document.querySelector('select[name="lecture-module"]');
  5.     let addBtn = document.querySelector('.form-control>button');
  6.  
  7.     let modules = document.querySelector('.modules');
  8.     addBtn.addEventListener('click', (e) => {
  9.         e.preventDefault();
  10.         if (inputName.value && inputDate.value && inputOptions.value != "Select module") {
  11.             let moduleDiv = document.createElement('div');
  12.             moduleDiv.className = 'module';
  13.             let ul = document.createElement('ul');
  14.             let exists = false;
  15.             let existentMod = document.querySelector(`#${inputOptions.value}`);
  16.             if (existentMod) {
  17.                 exists = true;
  18.                 moduleDiv = document.querySelector(`#${inputOptions.value}`).parentElement;
  19.                 ul = moduleDiv.children[1];
  20.             }
  21.             let moduleName = document.createElement('h3');
  22.             moduleName.id = inputOptions.value;
  23.             let splittedDate = inputDate.value.split('T');
  24.             let date = splittedDate[0];
  25.             let time = splittedDate[1];
  26.             let correctDate = date.split('-').join('/');
  27.             moduleName.innerHTML = `${inputOptions.value.toUpperCase()}-MODULE`;
  28.             let li = document.createElement('li');
  29.             li.className = 'flex';
  30.             let lectureName = document.createElement('h4');
  31.             lectureName.innerHTML = `${inputName.value} - ${correctDate} - ${time}`;
  32.             let delBtn = document.createElement('button');
  33.             delBtn.innerHTML = 'Del';
  34.             delBtn.className = "red";
  35.             delBtn.addEventListener('click', () => {
  36.                 let parent = delBtn.parentNode.parentNode;
  37.                 delBtn.parentElement.remove();
  38.                 if (parent.childElementCount == 0) {
  39.                     parent.parentNode.remove();
  40.                 }
  41.             })
  42.             if (!exists) {
  43.                 moduleDiv.appendChild(moduleName);
  44.             }
  45.             ul.appendChild(li);
  46.             li.appendChild(lectureName);
  47.             li.appendChild(delBtn);
  48.             ul.appendChild(li);
  49.             moduleDiv.appendChild(ul);
  50.             if (!exists) {
  51.                 modules.appendChild(moduleDiv);
  52.             }
  53.             sortList(moduleDiv);
  54.         }
  55.     })
  56.     function sortList(list) {
  57.         let sorted, i;
  58.         let sortFlag = true;
  59.         while (sortFlag) {
  60.             sortFlag = false;
  61.             let LiEle = list.getElementsByTagName("LI");
  62.             for (i = 0; i < LiEle.length - 1; i++) {
  63.                 sorted = false;
  64.                 if (LiEle[i].innerHTML.split(' - ').slice(1).join(' ').toLowerCase() > LiEle[i + 1].innerHTML.toLowerCase().split(' - ').slice(1).join(' ')) {
  65.                     sorted = true;
  66.                     break;
  67.                 }
  68.             }
  69.             if (sorted) {
  70.                 LiEle[i].parentNode.insertBefore(LiEle[i + 1], LiEle[i]);
  71.                 sortFlag = true;
  72.             }
  73.         }
  74.     }
  75. }
  76.  
Add Comment
Please, Sign In to add comment