From 73dc5f6a5112a86327242a405ef0e30fb1d5d50a Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Sun, 10 Nov 2019 12:05:53 -0500 Subject: [PATCH] [O] Optimize course-scatter with course.assignmentTypes --- .../course/course-scatter/course-scatter.ts | 29 +++---------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/src/pages/course/course-scatter/course-scatter.ts b/src/pages/course/course-scatter/course-scatter.ts index ab625f4..e060156 100644 --- a/src/pages/course/course-scatter/course-scatter.ts +++ b/src/pages/course/course-scatter/course-scatter.ts @@ -4,6 +4,7 @@ import {FormatUtils} from '@/logic/utils/format-utils'; import moment from 'moment'; import Course, {Assignment} from '@/logic/course'; import GraphUtils from '@/logic/utils/graph-utils'; +import {CourseUtils} from '@/logic/utils/course-utils'; @Component({ }) @@ -109,13 +110,12 @@ export default class CourseScatter extends Vue }; // Create scatter plots - let map = this.mapAssignments(); - let series: any[] = Array.from(map, ([type, assignments]) => + let series: any[] = this.course.assignmentTypes.map(type => { return { type: 'scatter', - name: type, - data: CourseScatter.assignmentsData(assignments), + name: type.name, + data: CourseScatter.assignmentsData(this.course.assignments.filter(a => a.typeId == type.id)), itemStyle: itemStyle } }); @@ -131,27 +131,6 @@ export default class CourseScatter extends Vue return series; } - /** - * Map assignments to {assignmentType, [assignment]} format. - */ - private mapAssignments(): Map - { - // Define map - let map = new Map(); - - // Move data to map - this.course.assignments.forEach(a => - { - // Null case, create empty array - if (!map.has(a.type)) map.set(a.type, []); - - // Put data - map.get(a.type).push(a); - }); - - return map; - } - /** * Convert assignments to series data *