[O] Separate series creation with the main settings

This commit is contained in:
Hykilpikonna
2019-11-09 16:00:57 -05:00
parent f4ee2dadb6
commit 80267feb54
2 changed files with 36 additions and 26 deletions
@@ -3,6 +3,7 @@ import Constants from '@/constants';
import {FormatUtils} from '@/logic/utils/format-utils'; import {FormatUtils} from '@/logic/utils/format-utils';
import moment from 'moment'; import moment from 'moment';
import Course, {Assignment} from '@/logic/course'; import Course, {Assignment} from '@/logic/course';
import GraphUtils from '@/logic/utils/graph-utils';
@Component({ @Component({
}) })
@@ -27,22 +28,6 @@ export default class CourseScatter extends Vue
*/ */
get chartSettings() get chartSettings()
{ {
// Map assignments
let map = this.mapAssignments();
// Scatter data point style
let itemStyle =
{
normal:
{
opacity: 0.8,
shadowBlur: 10,
shadowOffsetX: 0,
shadowOffsetY: 0,
shadowColor: 'rgba(0, 0, 0, 0.2)'
}
};
// Create settings // Create settings
let settings = let settings =
{ {
@@ -114,20 +99,45 @@ export default class CourseScatter extends Vue
}, },
// Data // Data
series: Array.from(map, ([type, assignments]) => series: this.series()
{
return {
type: 'scatter',
name: type,
data: CourseScatter.assignmentsData(assignments),
itemStyle: itemStyle
}
})
}; };
return settings; return settings;
} }
/**
* Get series data
*/
private series()
{
// Scatter data point style
let itemStyle =
{
normal:
{
opacity: 0.8,
shadowBlur: 10,
shadowOffsetX: 0,
shadowOffsetY: 0,
shadowColor: 'rgba(0, 0, 0, 0.2)'
}
};
// Create scatter plots
let map = this.mapAssignments();
let series: any = Array.from(map, ([type, assignments]) =>
{
return {
type: 'scatter',
name: type,
data: CourseScatter.assignmentsData(assignments),
itemStyle: itemStyle
}
});
return series;
}
/** /**
* Map assignments to {assignmentType, [assignment]} format. * Map assignments to {assignmentType, [assignment]} format.
*/ */
@@ -1,6 +1,6 @@
<template> <template>
<div id="course-scatter"> <div id="course-scatter">
<ve-scatter height="450px" class="graph" :extend="{heyIUsedCourseObject: this.course.name}" :after-config="afterConfig"></ve-scatter> <ve-scatter height="450px" class="graph" :extend="{a: this.course.name}" :after-config="afterConfig"></ve-scatter>
</div> </div>
</template> </template>