[M] Move level detection to course
This commit is contained in:
@@ -122,9 +122,6 @@ export default class App extends Vue
|
|||||||
// Save courses
|
// Save courses
|
||||||
this.courses = response.data.map((courseJson: any) => new Course(courseJson));
|
this.courses = response.data.map((courseJson: any) => new Course(courseJson));
|
||||||
|
|
||||||
// Post processing
|
|
||||||
CourseUtils.postProcess(this.courses);
|
|
||||||
|
|
||||||
// Load assignments
|
// Load assignments
|
||||||
this.loadAssignments();
|
this.loadAssignments();
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-2
@@ -2,6 +2,7 @@ import {Assignment} from '@/components/app/app';
|
|||||||
import JsonUtils from '@/utils/json-utils';
|
import JsonUtils from '@/utils/json-utils';
|
||||||
import Constants from '@/constants';
|
import Constants from '@/constants';
|
||||||
import {FormatUtils} from '@/utils/format-utils';
|
import {FormatUtils} from '@/utils/format-utils';
|
||||||
|
import {CourseUtils} from '@/utils/course-utils';
|
||||||
|
|
||||||
export default class Course
|
export default class Course
|
||||||
{
|
{
|
||||||
@@ -46,8 +47,14 @@ export default class Course
|
|||||||
this.letterGrade = courseJson.letterGrade;
|
this.letterGrade = courseJson.letterGrade;
|
||||||
this.numericGrade = courseJson.numericGrade;
|
this.numericGrade = courseJson.numericGrade;
|
||||||
|
|
||||||
this.level = courseJson.level;
|
// Level and scaleUp
|
||||||
this.scaleUp = courseJson.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;
|
this.grading = courseJson.grading;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,35 +63,12 @@ export class CourseUtils
|
|||||||
return `course/${course.id}/${course.name.toLowerCase().split(' ').join('-')}`;
|
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
|
* Detect course level based on course name
|
||||||
*
|
*
|
||||||
* @param name Course name
|
* @param name Course name
|
||||||
*/
|
*/
|
||||||
private static detectLevel(name: string)
|
static detectLevel(name: string)
|
||||||
{
|
{
|
||||||
// Common ones
|
// Common ones
|
||||||
if (name.startsWith('AP')) return LEVEL_AP;
|
if (name.startsWith('AP')) return LEVEL_AP;
|
||||||
|
|||||||
Reference in New Issue
Block a user