function solve() {
let inputs = Array.from(document.getElementsByTagName('input'));
let modulesDiv = document.getElementsByClassName("modules")[0];
let nameInput = inputs[0];
let dateInput = inputs[1];
let moduleSelect = Array.from(document.getElementsByTagName('select'))[0];
let addButton = Array.from(document.getElementsByTagName("button"))[0];
addButton.addEventListener("click", addLecture);
let modulesArr = [];
function addLecture(e) {
e.preventDefault();
let lName = nameInput.value;
let lDate = dateInput.value;
console.log(typeof lDate)
let lModule = moduleSelect.options[moduleSelect.selectedIndex].textContent;
if (lName.length > 0 && lDate.length > 0 && lModule !== "Select module...") {
let d = lDate.substring(0, lDate.indexOf("T"));
let h = lDate.substring(lDate.indexOf("T") + 1);
let normDate = d.split("-").join("/");
let fullDate = `${normDate} - ${h}`;
let fullDesc = `${lName} - ${fullDate}`;
if (modulesArr.includes(lModule) == false) {
let modDiv = document.createElement("div");
modDiv.className = "module";
modDiv.id = lModule;
let moduleH = document.createElement("h3");
let mhtext = `${lModule.toLocaleUpperCase()}-MODULE`
moduleH.textContent = mhtext;
modDiv.appendChild(moduleH);
let modUl = document.createElement("ul");
let lectureLi = document.createElement("li");
lectureLi.id = normDate;
lectureLi.className = "flex";
let descriptionH = document.createElement("h4");
descriptionH.textContent = fullDesc;
let delBtn = document.createElement("button");
delBtn.className = "red";
delBtn.textContent = "Del";
delBtn.addEventListener("click", delLecture);
lectureLi.appendChild(descriptionH);
lectureLi.appendChild(delBtn);
modUl.appendChild(lectureLi);
modDiv.appendChild(modUl);
modulesDiv.appendChild(modDiv);
modulesArr.push(lModule);
} else {
let modDiv = document.getElementById(lModule);
console.log(modDiv);
let modUl = modDiv.querySelector('ul');
let lectureLi = document.createElement("li");
lectureLi.id = normDate;
lectureLi.className = "flex";
let descriptionH = document.createElement("h4");
descriptionH.textContent = fullDesc;
let delBtn = document.createElement("button");
delBtn.className = "red";
delBtn.textContent = "Del";
delBtn.addEventListener("click", delLecture);
lectureLi.appendChild(descriptionH);
lectureLi.appendChild(delBtn);
modUl.appendChild(lectureLi);
sortUl(modUl);
}
}
function delLecture(e) {
let parentLi = e.target.parentNode;
let parentUl = parentLi.parentNode;
parentUl.removeChild(parentLi);
sortUl(parentUl);
let activeLectures = Array.from(parentUl.querySelectorAll('li'));
if (activeLectures.length == 0) {
console.log('delete entire div');
let divToDelete = parentUl.parentNode;
let indexOfMod = -1;
for (let i = 0; i < modulesArr; i++) {
if (modulesArr[i] == divToDelete.id) {
indexOfMod = i;
}
}
modulesArr.splice(indexOfMod, 1);
modulesDiv.removeChild(divToDelete);
}
}
function sortUl(ul) {
let liArr = Array.from(ul.querySelectorAll('li'));
let sortedLis = liArr.sort((a, b) => a.id.localeCompare(b.id));
ul.innerHtml = "";
sortedLis.forEach(l => {
ul.appendChild(l);
})
}
}
};