[U] Cache assignmentTypes
This commit is contained in:
+3
-7
@@ -213,14 +213,12 @@ export default class Course
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private _cacheAssignmentTypes: AssignmentType[];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get assignment types
|
* Get assignment types
|
||||||
*/
|
*/
|
||||||
get assignmentTypes(): AssignmentType[]
|
get assignmentTypes(): AssignmentType[]
|
||||||
{
|
{
|
||||||
if (this._cacheAssignmentTypes == null)
|
return this.cache.get('AssignmentTypes', () =>
|
||||||
{
|
{
|
||||||
// Get all types
|
// Get all types
|
||||||
let types = this.assignments.map(a => a.type);
|
let types = this.assignments.map(a => a.type);
|
||||||
@@ -232,7 +230,7 @@ export default class Course
|
|||||||
let totalScoreMax = this.assignments.reduce((sum, a) => sum + a.scoreMax, 0);
|
let totalScoreMax = this.assignments.reduce((sum, a) => sum + a.scoreMax, 0);
|
||||||
|
|
||||||
// For every type...
|
// For every type...
|
||||||
this._cacheAssignmentTypes = types.map(type =>
|
return types.map(type =>
|
||||||
{
|
{
|
||||||
// Get assignments of the type
|
// Get assignments of the type
|
||||||
let typeAssignments = this.assignments.filter(a => a.type == type);
|
let typeAssignments = this.assignments.filter(a => a.type == type);
|
||||||
@@ -250,8 +248,6 @@ export default class Course
|
|||||||
scoreMax: scoreMax, score: score, percent: +(score / scoreMax * 100).toFixed(2),
|
scoreMax: scoreMax, score: score, percent: +(score / scoreMax * 100).toFixed(2),
|
||||||
assignmentCount: typeAssignments.length}
|
assignmentCount: typeAssignments.length}
|
||||||
})
|
})
|
||||||
}
|
})
|
||||||
|
|
||||||
return this._cacheAssignmentTypes;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user