[+] Create method to convert chart data
This commit is contained in:
@@ -8,4 +8,72 @@ import {Course} from '@/components/app/app';
|
|||||||
export default class Overall extends Vue
|
export default class Overall extends Vue
|
||||||
{
|
{
|
||||||
@Prop({required: true}) courses: any;
|
@Prop({required: true}) courses: any;
|
||||||
|
|
||||||
|
get convertCharts()
|
||||||
|
{
|
||||||
|
// Null case
|
||||||
|
if (this.courses == null) return [];
|
||||||
|
|
||||||
|
// Compute the column names
|
||||||
|
let columns = ['date'];
|
||||||
|
this.courses.forEach((course: Course) =>
|
||||||
|
{
|
||||||
|
columns.push(course.name);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Find the min date
|
||||||
|
let minDate: Date = new Date();
|
||||||
|
this.courses.forEach((course: Course) =>
|
||||||
|
{
|
||||||
|
let date = new Date(course.assignments[course.assignments.length - 1].date);
|
||||||
|
if (date < minDate) minDate = date;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Find the dates in between
|
||||||
|
let now = new Date();
|
||||||
|
let dates = [];
|
||||||
|
for (let date = minDate; date <= now; date.setDate(date.getDate() + 1))
|
||||||
|
{
|
||||||
|
dates.push(new Date(date));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Compute the rows data
|
||||||
|
let rows: {[index: string]: any}[] = [];
|
||||||
|
let courseAverages = {};
|
||||||
|
dates.forEach(date =>
|
||||||
|
{
|
||||||
|
// Define row object
|
||||||
|
let row: {[index: string]:any} = {'date': date};
|
||||||
|
|
||||||
|
// Loop through courses
|
||||||
|
this.courses.forEach((course: Course) =>
|
||||||
|
{
|
||||||
|
course.assignments.forEach(assignment =>
|
||||||
|
{
|
||||||
|
// Date is being looked at
|
||||||
|
if (new Date(assignment.date) == date)
|
||||||
|
{
|
||||||
|
row[course.name] = assignment.score;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Not now!
|
||||||
|
if (new Date(assignment.date) > date)
|
||||||
|
{
|
||||||
|
// Exit the course loop.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Add it to the array
|
||||||
|
rows.push(row);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(rows);
|
||||||
|
|
||||||
|
return {
|
||||||
|
columns: columns,
|
||||||
|
rows: rows
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user