[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,7 +99,33 @@ export default class CourseScatter extends Vue
}, },
// Data // Data
series: Array.from(map, ([type, assignments]) => 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 { return {
type: 'scatter', type: 'scatter',
@@ -122,10 +133,9 @@ export default class CourseScatter extends Vue
data: CourseScatter.assignmentsData(assignments), data: CourseScatter.assignmentsData(assignments),
itemStyle: itemStyle itemStyle: itemStyle
} }
}) });
};
return settings; return series;
} }
/** /**
@@ -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>