Improved filtering and quality of life

This commit is contained in:
2023-04-23 17:19:39 -05:00
parent d8462fe4cc
commit dcfa57996e

36
main.js
View File

@@ -18,15 +18,16 @@ function parseName() {
alert("At least fill out the form..."); alert("At least fill out the form...");
return; return;
} }
if(!department || !classNum) {
alert("Missing fields")
return;
}
if(department.length != 3) { if(department.length != 3) {
alert("Invalid Department"); alert("Invalid Department");
return; return;
} }
if(className == '' || department == '') { console.log(department, classNum.toString(), className.trim());
return; PapaParse(department, classNum.toString(), className.trim());
}
console.log(department, classNum, className);
PapaParse(department, classNum, className);
} }
async function PapaParse(department, num, name) { async function PapaParse(department, num, name) {
@@ -40,24 +41,21 @@ async function PapaParse(department, num, name) {
.then(() => { .then(() => {
// console.log(cData); // console.log(cData);
}); });
console.log(cData.filter(cData => cData["Course Prefix"].includes(department.toUpperCase())));
if(cData.filter(cData => cData["Course Prefix"].includes(department.toUpperCase())).length == 0) { console.log(cData.filter(cData => cData["Course Number"].includes(num.toUpperCase())));
alert("Invalid Prefix"); let selectedClass = cData.filter(cData => cData["Course Prefix"].includes(department.toUpperCase()))
return; .filter(cData => cData["Course Number"].includes(num.toUpperCase()))
} .filter(cData => cData["Course Title"].includes(name.toUpperCase()));
const selectedClass = ''; if(selectedClass.length == 0) {
if(cData.filter(cData => cData["Course Prefix"].includes(department.toUpperCase()))
.filter(cData => cData["Course Number"].includes(num.toUpperCase))
.filter(cData => cData["Course Title"].includes(name.toUpperCase())).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
selectedClass = cData.filter(cData => cData["Course Prefix"].includes(department.toUpperCase())) selectedClass = cData.filter(cData => cData["Course Prefix"].includes(department.toUpperCase()))
.filter(cData => cData["Course Title"].includes(name.toUpperCase())); .filter(cData => cData["Course Title"].includes(name.toUpperCase()));
} else { }
selectedClass = cData.filter(cData => cData["Course Prefix"].includes(department.toUpperCase())) if(selectedClass.length == 0) {
.filter(cData => cData["Course Number"].includes(num.toUpperCase)) // Still can't find anything? Just exit without making a chart and alert that nothing could be found
.filter(cData => cData["Course Title"].includes(name.toUpperCase())) alert("No data found on " + className);
return;
} }
console.log(selectedClass); console.log(selectedClass);
let gradeDist = { let gradeDist = {
"A": 0, "A": 0,