[M] Move level detection to course

This commit is contained in:
Hykilpikonna
2019-11-06 18:22:35 -05:00
parent fbb9352546
commit 6eb7e421e0
3 changed files with 10 additions and 29 deletions
-3
View File
@@ -122,9 +122,6 @@ export default class App extends Vue
// Save courses
this.courses = response.data.map((courseJson: any) => new Course(courseJson));
// Post processing
CourseUtils.postProcess(this.courses);
// Load assignments
this.loadAssignments();
}
+9 -2
View File
@@ -2,6 +2,7 @@ import {Assignment} from '@/components/app/app';
import JsonUtils from '@/utils/json-utils';
import Constants from '@/constants';
import {FormatUtils} from '@/utils/format-utils';
import {CourseUtils} from '@/utils/course-utils';
export default class Course
{
@@ -46,8 +47,14 @@ export default class Course
this.letterGrade = courseJson.letterGrade;
this.numericGrade = courseJson.numericGrade;
this.level = courseJson.level;
this.scaleUp = courseJson.scaleUp;
// Level and scaleUp
let level = CourseUtils.detectLevel(this.name);
if (level != undefined)
{
this.level = level.level;
this.scaleUp = level.scaleUp;
}
else this.level = 'Unknown';
this.grading = courseJson.grading;
}
+1 -24
View File
@@ -63,35 +63,12 @@ export class CourseUtils
return `course/${course.id}/${course.name.toLowerCase().split(' ').join('-')}`;
}
/**
* Post process course list
*
* @param courses Course list
*/
public static postProcess(courses: Course[])
{
for (let course of courses)
{
// Detect level
let level = this.detectLevel(course.name);
if (level != undefined)
{
course.level = level.level;
course.scaleUp = level.scaleUp;
}
else
{
course.level = 'Unknown';
}
}
}
/**
* Detect course level based on course name
*
* @param name Course name
*/
private static detectLevel(name: string)
static detectLevel(name: string)
{
// Common ones
if (name.startsWith('AP')) return LEVEL_AP;