27 lines
1.2 KiB
JavaScript
27 lines
1.2 KiB
JavaScript
import {students} from "./data.js"
|
|
import {calculateAssignmentAverage} from "./utils.js"
|
|
import {getPassingStudents} from "./analytics.js"
|
|
|
|
const passingStudents = getPassingStudents(students);
|
|
const passingIds = passingStudents.map(student => student.id);
|
|
const tableBody = document.getElementById("studentTableBody");
|
|
|
|
students.forEach(student => {
|
|
const row = document.createElement("tr");
|
|
const name = document.createElement("td");
|
|
name.textContent = student.name ?? "-";
|
|
const course = document.createElement("td");
|
|
course.textContent = student.course ?? "-";
|
|
const grade = document.createElement("td");
|
|
grade.textContent = student.grade ?? "-";
|
|
const attendance = document.createElement("td");
|
|
attendance.textContent = student.attendance + "%" ?? "-";
|
|
const assignmentAvg = document.createElement("td");
|
|
assignmentAvg.textContent = calculateAssignmentAverage(student);
|
|
const status = document.createElement("td");
|
|
status.textContent = passingIds.includes(student.id) ? "Pass" : "Fail";
|
|
const city = document.createElement("td");
|
|
city.textContent = student.address.city ?? "-";
|
|
row.append(name, course, grade, attendance, assignmentAvg, status, city);
|
|
tableBody.appendChild(row);
|
|
}); |