diff --git a/src/components/app/app.ts b/src/components/app/app.ts index bf407ef..d254109 100644 --- a/src/components/app/app.ts +++ b/src/components/app/app.ts @@ -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(); } diff --git a/src/logic/course.ts b/src/logic/course.ts index f471a10..bb53c48 100644 --- a/src/logic/course.ts +++ b/src/logic/course.ts @@ -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; } diff --git a/src/utils/course-utils.ts b/src/utils/course-utils.ts index 4576a16..b8eb49e 100644 --- a/src/utils/course-utils.ts +++ b/src/utils/course-utils.ts @@ -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;