4 Commits

Author SHA1 Message Date
50c7e0468b meh 2023-04-29 05:30:50 -05:00
4f1efd12b1 nah 2023-04-29 05:29:06 -05:00
15ad0417fc oops 2023-04-29 05:22:44 -05:00
2363631674 Renaming how summer semester is handled 2023-04-29 05:15:48 -05:00
2 changed files with 8 additions and 16 deletions

View File

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

22
main.js
View File

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