SHOW:
|
|
- or go back to the newest paste.
| 1 | function solve() {
| |
| 2 | let newLectureInputElements = document.querySelectorAll('div[class="form-control"] input');
| |
| 3 | let lectureNameInput = newLectureInputElements[0]; | |
| 4 | let dateInput = newLectureInputElements[1]; | |
| 5 | let selectInput = document.querySelector('div[class="form-control"] select');
| |
| 6 | let addLectureBtn = document.querySelector('div[class="form-control"] button');
| |
| 7 | // console.log(lectureNameInput.value); | |
| 8 | // console.log(dateInput.value); | |
| 9 | // console.log(selectInput.value); | |
| 10 | // console.log(addLectureBtn); | |
| 11 | ||
| 12 | let modulesDivElement = document.querySelector('div[class="modules"]');
| |
| 13 | // console.log(modulesDivElement); | |
| 14 | ||
| 15 | addLectureBtn.addEventListener("click", function (e) {
| |
| 16 | if (lectureNameInput.value && dateInput.value && selectInput.value !== "Select module") {
| |
| 17 | e.preventDefault(); | |
| 18 | ||
| 19 | let allModules = Array.from(modulesDivElement.children); | |
| 20 | ||
| 21 | let customDate = new Date(dateInput.value); | |
| 22 | let resultDate = `${customDate.getFullYear()}/${customDate.getMonth() + 1}/${customDate.getDate()} - ${customDate.getHours()}:${customDate.getMinutes() < 10 ? '0' + customDate.getMinutes() : customDate.getMinutes()}`;
| |
| 23 | let currentModule = allModules.find(x => x.firstChild.textContent.includes(selectInput.value.toUpperCase())); | |
| 24 | let ulElement = document.createElement("ul");
| |
| 25 | let liElement = document.createElement("li");
| |
| 26 | liElement.classList.add("flex");
| |
| 27 | let h4Element = document.createElement("h4");
| |
| 28 | h4Element.textContent = `${lectureNameInput.value} - ${resultDate}`;
| |
| 29 | let delBtn = document.createElement("button");
| |
| 30 | delBtn.classList.add("red");
| |
| 31 | delBtn.textContent = "Del"; | |
| 32 | ||
| 33 | if (currentModule) {
| |
| 34 | ||
| 35 | ||
| 36 | liElement.appendChild(h4Element); | |
| 37 | liElement.appendChild(delBtn); | |
| 38 | // ulElement.appendChild(liElement); | |
| 39 | currentModule.children[1].appendChild(liElement); | |
| 40 | ||
| 41 | ||
| 42 | let allLiElements = Array.from(currentModule.children[1].children); | |
| 43 | allLiElements.sort((a, b) => {
| |
| 44 | let indexDash = a.firstChild.textContent.indexOf("-");
| |
| 45 | let aname = a.firstChild.textContent.substring(0, indexDash - 1); | |
| 46 | let adate = a.firstChild.textContent.substring(indexDash + 2); | |
| 47 | ||
| 48 | let bname = b.firstChild.textContent.substring(0, indexDash - 1); | |
| 49 | let bdate = b.firstChild.textContent.substring(indexDash + 2); | |
| 50 | if (aname === bname) {
| |
| 51 | let res = adate.localeCompare(bdate) | |
| 52 | console.log(res); | |
| 53 | return res; | |
| 54 | } | |
| 55 | }); | |
| 56 | ||
| 57 | ||
| 58 | // currentModule.children[1].children = allLiElements; | |
| 59 | currentModule.children[1].innerHTML = ""; | |
| 60 | allLiElements.forEach(x => {
| |
| 61 | currentModule.children[1].appendChild(x); | |
| 62 | }) | |
| 63 | modulesDivElement.appendChild(currentModule); | |
| 64 | } else {
| |
| 65 | let moduleDiv = document.createElement("div");
| |
| 66 | moduleDiv.classList.add("module");
| |
| 67 | let h3Element = document.createElement("h3");
| |
| 68 | h3Element.textContent = selectInput.value.toUpperCase() + "-MODULE"; | |
| 69 | ||
| 70 | liElement.appendChild(h4Element); | |
| 71 | liElement.appendChild(delBtn); | |
| 72 | ulElement.appendChild(liElement); | |
| 73 | ||
| 74 | ||
| 75 | moduleDiv.appendChild(h3Element); | |
| 76 | moduleDiv.appendChild(ulElement); | |
| 77 | ||
| 78 | modulesDivElement.appendChild(moduleDiv); | |
| 79 | } | |
| 80 | ||
| 81 | delBtn.addEventListener("click", function (e) {
| |
| 82 | let currentUlElement = e.target.parentElement.parentElement; | |
| 83 | let curentLiElement = e.target.parentElement; | |
| 84 | ||
| 85 | if (Array.from(currentUlElement.children).length > 1) {
| |
| 86 | currentUlElement.removeChild(curentLiElement); | |
| 87 | } else {
| |
| 88 | currentUlElement.parentElement.parentElement.removeChild(currentUlElement.parentElement); | |
| 89 | } | |
| 90 | }) | |
| 91 | ||
| 92 | lectureNameInput.value = "" | |
| 93 | dateInput.value = "" | |
| 94 | selectInput.value = "Select module" | |
| 95 | } | |
| 96 | }); | |
| 97 | }; |