[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 moment from 'moment';
import Course, {Assignment} from '@/logic/course';
import GraphUtils from '@/logic/utils/graph-utils';
@Component({
})
@@ -27,22 +28,6 @@ export default class CourseScatter extends Vue
*/
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
let settings =
{
@@ -114,20 +99,45 @@ export default class CourseScatter extends Vue
},
// Data
series: Array.from(map, ([type, assignments]) =>
{
return {
type: 'scatter',
name: type,
data: CourseScatter.assignmentsData(assignments),
itemStyle: itemStyle
}
})
series: this.series()
};
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.
*/
@@ -1,6 +1,6 @@
<template>
<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>
</template>