Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(e) {
- const [lectNameField, dateField] = document.querySelectorAll(`input`);
- const moduleNameField = document.getElementsByTagName('select')[0];
- const modules = document.getElementsByClassName('modules')[0];
- document.querySelector('button').addEventListener('click', addLecture);
- function lectureTemplate(date, lectureName) {
- const li = document.createElement('li');
- li.className = 'flex';
- li.innerHTML = `<h4>${lectureName} - ${date}</h4>
- <button class='red'>Del</button>`;
- li.querySelector('button').addEventListener('click', dellLecture);
- li.date = date;
- return li;
- }
- function moduleTemplate(moduleName, date, lectureName) {
- const moduleDiv = document.createElement('div');
- moduleDiv.className = 'module';
- moduleDiv.innerHTML = `<h3>${moduleName}</h3>`;
- const moduleLectures = document.createElement('ul');
- moduleLectures.appendChild(lectureTemplate(date, lectureName));
- moduleDiv.appendChild(moduleLectures);
- return moduleDiv;
- }
- const helpers = {fDate: (s) => s.replaceAll('-', '/').replace('T', ' - '),
- fName: (n) => `${n.toLocaleUpperCase()}-MODULE`}
- function addLecture(e) {
- e.preventDefault();
- const [lectureName, date, moduleName] = [lectNameField.value, helpers.fDate(dateField.value), helpers.fName(moduleNameField.value)];
- if (lectureName !== '' && date !== '' && moduleName !== 'Select module') {
- const sameModule = Array.from(modules.children)
- .find(x => x.children[0].innerHTML === moduleName);
- if (sameModule) {
- const trainings = sameModule.children[1];
- const lectures = Array.from(trainings.children);
- lectures.push(lectureTemplate(date, lectureName));
- lectures.sort((a, b) => a.date.localeCompare(b.date));
- lectures.forEach(lecture => trainings.appendChild(lecture));
- } else {
- modules.appendChild(moduleTemplate(moduleName, date, lectureName));
- }
- lectNameField.value = '';
- dateField.value = '';
- moduleNameField.value = 'Select module';
- }
- }
- function dellLecture(e) {
- const moduleSection = e.target.parentElement.parentElement.parentElement;
- e.target.parentElement.remove();
- if (moduleSection.children[1].children.length === 0) {
- moduleSection.remove()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement