4 Commits

Author SHA1 Message Date
ef357ec1fa Wait that was pretty smooth 2023-04-29 05:45:06 -05:00
1556395b73 check for multiple 2023-04-29 05:43:10 -05:00
2b2050a729 simplified label 2023-04-29 05:33:58 -05:00
565c326bfc oops almost broke everything again 2023-04-29 05:31:26 -05:00
2 changed files with 16 additions and 8 deletions

View File

@@ -59,7 +59,7 @@
<label for="dropdown">Semester (under construction):</label>
<select id="semester" name="dropdown">
<option value="f2022">Fall 2022</option>
<option value="sum2022">Summer 2022</option>
<option value="s2022">Summer 2022</option>
<option value="sp2022">Spring 2022</option>
<option value="f2021">Fall 2021</option>
</select>

22
main.js
View File

@@ -7,7 +7,8 @@ if(chartDiv.getAttribute('value') == 'invisible'){
}
var gradeChart;
const ctx = document.getElementById("gradeBar");
const labels = ['A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D', 'D-', 'F'];
const gradeLabels = ["A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"];
/*
Parse the input form and class data
*/
@@ -46,10 +47,11 @@ async function PapaParse(department, num, name, sem) {
case 'f2022':
url = 'https://derec4.github.io/ut-grade-data/2022%20Fall.json';
break;
case 'sum2022':
case 's2022':
url = 'https://derec4.github.io/ut-grade-data/2022%20Summer.json';
break;
case 'sp2022':
// Temp, change when other data sets are added
url = 'https://derec4.github.io/ut-grade-data/2022%20Spring.json';
break;
case 'f2021':
@@ -68,7 +70,7 @@ async function PapaParse(department, num, name, sem) {
.filter(cData => cData["Course Title"].includes(name));
if(selectedClass.length == 0) {
// Possible that the class name was typed wrong; try again with just the course number
console.log("Invalid name; trying again with just course number and prefix");
console.log("Invalid name; trying again with just the course number");
selectedClass = cData.filter(cData => cData["Course Prefix"].includes(department))
.filter(cData => cData["Course Number"] == num.toString().toUpperCase());
}
@@ -79,6 +81,7 @@ async function PapaParse(department, num, name, sem) {
}
console.log(selectedClass);
let gradeDist = {
"A": 0,
'A-': 0,
@@ -94,19 +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: labels,
labels: gradeLabels,
datasets: [{
label: 'Grade distribution for \"' + selectedClass[0]["Course Title"] +"\"",
label: 'Grade distribution for \"' + lableName +"\"",
data: Object.values(gradeDist),
borderWidth: 2,
// borderColor: '#36A2EB',
@@ -115,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 = '';
}
@@ -125,7 +133,7 @@ function loadChart(gradeDist, courseName) {
gradeChart = new Chart(ctx, {
type: 'bar',
data: {
labels: labels,
labels: gradeLabels,
datasets: [{
label: 'Grade distribution for \"' + courseName + "\"",
data: Object.values(gradeDist),