'use strict' //changes contents of table to arrays for the js functions function tableToObjects() { let objects = { company: new Array, student: new Array, appointments:new Array, logs: new Array } let ids = document.getElementsByClassName('studentId') const activated = document.getElementsByClassName('activated') let names = document.getElementsByClassName("studentName") let mails = document.getElementsByClassName("studentMail") let logins = document.getElementsByClassName("studentLogin"); const graduation_tracks = document.getElementsByClassName("graduation-track"); const studys = document.getElementsByClassName('study-direction') const preferences = document.getElementsByClassName('job-preferences') //for logs that a student may have const studentLogIds = document.getElementsByClassName('studentLogId') const studentLogAction = document.getElementsByClassName('studentLogAction') const studentLogTime = document.getElementsByClassName('studentLogTime'); const studentSeverity = document.getElementsByClassName('studentSeverity') for (let i = 0; i < names.length; i++) { let currentId = ids[i].innerHTML //check if the student has any logs let logs = new Array() //add any logs that are necessary for (let i = 0; i < studentLogIds.length; i++) { if (studentLogIds[i].innerHTML == currentId) { let severityInt; switch (studentSeverity[i].innerHTML.trim().toLocaleLowerCase()) { case 'normal': severityInt = 0; break; case 'critical': severityInt = 1; break; default: severityInt = 0; break; } logs.push({ action: studentLogAction[i].innerHTML, date: studentLogTime[i].innerHTML.trim(), severity: severityInt }); } } objects.student.push({ id: currentId, activated: activated[i].innerHTML, name: names[i].innerHTML, mail: mails[i].innerHTML, login: logins[i].innerHTML, graduation_track: graduation_tracks[i].innerHTML.trim(), studyDirection: studys[i].innerHTML.trim(), preferences: preferences[i].innerHTML.trim(), logs: logs }); } //Add companies ids = document.getElementsByClassName('companyId') names = document.getElementsByClassName("companyName"), mails = document.getElementsByClassName("companyMail"), logins = document.getElementsByClassName("companyLogin"); const planTypes = document.getElementsByClassName('plan-type') const jobTypes = document.getElementsByClassName('job-types') const jobDomain = document.getElementsByClassName('job-domain') const description = document.getElementsByClassName('description') const boothLocation = document.getElementsByClassName('booth-location') const speeddateDuration = document.getElementsByClassName('speeddate-duration') //for logs that a company may have const companyLogIds = document.getElementsByClassName('companyLogIds') const companyLogAction = document.getElementsByClassName('companyLogAction') const companyLogTime = document.getElementsByClassName('companyLogTime'); const companySeverity = document.getElementsByClassName('companySeverity') for (let i = 0; i < names.length; i++) { let currentId = ids[i].innerHTML; //check if the company has any logs let logs = new Array() //add any logs that are necessary for (let i = 0; i < companyLogIds.length; i++) { if (companyLogIds[i].innerHTML == currentId) { let severityInt; switch (companySeverity[i].innerHTML.trim().toLocaleLowerCase()) { case 'normal': severityInt = 0; break; case 'critical': severityInt = 1; break; default: severityInt = 0; break; } logs.push({ action: companyLogAction[i].innerHTML, date: companyLogTime[i].innerHTML.trim(), severity: severityInt }); } } objects.company.push({ id: ids[i].innerHTML, name: names[i].innerHTML, mail: mails[i].innerHTML, login: logins[i].innerHTML, planType: planTypes[i].innerHTML.trim(), jobTypes: jobTypes[i].innerHTML.trim(), jobDomain: jobDomain[i].innerHTML.trim(), description: description[i].innerHTML.trim(), boothLocation: boothLocation[i].innerHTML.trim(), speeddateDuration: speeddateDuration[i].innerHTML.trim(), logs: logs }); } //Add apointments let studentId = document.getElementsByClassName('appointmentSId') let companyId = document.getElementsByClassName('appointmentCId') let appointmentTime = document.getElementsByClassName('appointmentTime') for (let i = 0; i < studentId.length; i++) { objects.appointments.push({ studentId: studentId[i].innerHTML, companyId: companyId[i].innerHTML, appointmentTime: appointmentTime[i].innerHTML.trim() }); } //add logs let logId = document.getElementsByClassName('logId') let logAction = document.getElementsByClassName('logAction') let logDate = document.getElementsByClassName('logDate') let severity = document.getElementsByClassName('severity') for (let i = 0; i < logId.length; i++) { let severityInt; switch (severity[i].innerHTML.trim().toLocaleLowerCase()) { case 'normal': severityInt = 0; break; case 'critical': severityInt = 1; break; default: severityInt = 0; break; } objects.logs.push({ id: logId[i].innerHTML, action: logAction[i].innerHTML, date: logDate[i].innerHTML.trim(), severity: severityInt }); } return objects } export const data = tableToObjects() //Sets the amount of students and companies based on the amount of rows in the table export function dashboard() { const d = document.getElementById("student-amount"); d.innerHTML = data.student.length; const t = document.getElementById("company-amount"); t.innerHTML = data.company.length const l = document.getElementById("appointment-amount"); l.innerHTML = data.appointments.length } //Code was once lost, and refound by taking it from uglyfied code export function createSearch(d, t) { return t.innerHTML += d == 0 ? t.innerHTML += '' : t.innerHTML += '', t.innerHTML += ``, t.innerHTML += ``, t } export function switchDisplay(element) { const students = document.getElementById("students") , companies = document.getElementById("companies") , addCompany = document.getElementById("addCompany") , addStudent = document.getElementById("addStudent") , appointments = document.getElementById('appointments') , logs = document.getElementById('logs'), details = document.getElementById('details'); appointments.style.display = 'none' students.style.display = "none", companies.style.display = "none", addCompany.style.display = "none", addStudent.style.display = "none" logs.style.display = "none" details.style.display = "none" document.getElementById(element).style.display = "block" } //creates a popup, with text export function popUp (text) { document.getElementById('extra-container').style.display = 'block' document.getElementById('extra-message').innerHTML = text; } export function removePopUp () { document.getElementById('extra-container').style.display = 'none'; document.getElementById('extra-message').innerHTML = '' } export function filterArray(array, name) { return array.filter(obj => obj.name.toLocaleLowerCase().indexOf(name.toLocaleLowerCase()) > -1) } //m export function createTable(input, extra = null) { let table; //If student table is displayed, it's safe to assume we're on student list document.getElementById("students").style.display != "none" ? table = document.getElementById("studentTable") : table = document.getElementById("companyTable"), table.innerHTML = ""; const type = document.getElementById("students").style.display != "none" ? "S" : "C" const eye = type == "S" ? "studentEye" : "companyEye" const legend = document.createElement("tr"); legend.innerHTML = "