[M] Move level detection to course
This commit is contained in:
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user