[O] Optimize grading methods by storing them in cookies
This commit is contained in:
@@ -152,6 +152,12 @@ export default class App extends Vue
|
|||||||
// Loop through all the courses
|
// Loop through all the courses
|
||||||
for (const course of this.filteredCourses)
|
for (const course of this.filteredCourses)
|
||||||
{
|
{
|
||||||
|
// Check if already exist in cookies
|
||||||
|
if (this.$cookies.isKey('va.grading.' + course.assignmentsId))
|
||||||
|
{
|
||||||
|
course.grading = {method: 'TOTAL_MEAN', weightingMap: {}};
|
||||||
|
}
|
||||||
|
|
||||||
// Request grading scheme for this course
|
// Request grading scheme for this course
|
||||||
App.http.post('/grading', {'assignmentsId': course.assignmentsId}).then(response =>
|
App.http.post('/grading', {'assignmentsId': course.assignmentsId}).then(response =>
|
||||||
{
|
{
|
||||||
@@ -160,6 +166,13 @@ export default class App extends Vue
|
|||||||
{
|
{
|
||||||
// Add it to course
|
// Add it to course
|
||||||
course.grading = response.data;
|
course.grading = response.data;
|
||||||
|
|
||||||
|
// If it's total_mean, cache it to cookies
|
||||||
|
// This is because only percent_type can update over time
|
||||||
|
if (course.grading.method == 'TOTAL_MEAN')
|
||||||
|
{
|
||||||
|
this.$cookies.set('va.grading.' + course.assignmentsId, 'TOTAL_MEAN', '3d');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else throw new Error(response.data);
|
else throw new Error(response.data);
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user