diff --git a/main.js b/main.js index a846a2c..3bc92bf 100644 --- a/main.js +++ b/main.js @@ -7,6 +7,7 @@ if(chartDiv.getAttribute('value') == 'invisible'){ } var gradeChart; const ctx = document.getElementById("gradeBar"); +const gradeLabels = ["A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]; /* Parse the input form and class data @@ -80,6 +81,7 @@ async function PapaParse(department, num, name, sem) { } console.log(selectedClass); + let gradeDist = { "A": 0, 'A-': 0, @@ -95,31 +97,24 @@ async function PapaParse(department, num, name, sem) { 'F': 0, 'Other': 0 }; + + let lableName = selectedClass[0]["Course Title"]; for(i in selectedClass) { let letterGrade = selectedClass[i]["Letter Grade"]; let cnt = selectedClass[i]["Count of letter grade"] gradeDist[letterGrade] += cnt; + if(!(lableName === selectedClass[i]["Course Title"])) { + lableName = "Multiple courses found using the same ID; try specifying a course name!" + } // console.log(selectedClass[i]["Letter Grade"]); // console.log(selectedClass[i]["Count of letter grade"]); } console.log(gradeDist); if(gradeChart) { gradeChart.config.data = { - labels: [ - 'A', - 'A-', - 'B+', - 'B', - 'B-', - 'C+', - 'C', - 'C-', - 'D+', - 'D', - 'D-', - 'F'], + labels: gradeLabels, datasets: [{ - label: 'Grade distribution for \"' + selectedClass[0]["Course Title"] +"\"", + label: 'Grade distribution for \"' + lableName +"\"", data: Object.values(gradeDist), borderWidth: 2, // borderColor: '#36A2EB', @@ -128,7 +123,7 @@ async function PapaParse(department, num, name, sem) { }; gradeChart.update(); } else { - loadChart(gradeDist, selectedClass[0]["Course Title"]); + loadChart(gradeDist, lableName); aboutDiv.style.visibility='hidden'; chartDiv.style.display = ''; } @@ -138,19 +133,7 @@ function loadChart(gradeDist, courseName) { gradeChart = new Chart(ctx, { type: 'bar', data: { - labels: [ - 'A', - 'A-', - 'B+', - 'B', - 'B-', - 'C+', - 'C', - 'C-', - 'D+', - 'D', - 'D-', - 'F'], + labels: gradeLabels, datasets: [{ label: 'Grade distribution for \"' + courseName + "\"", data: Object.values(gradeDist),