From 48fb8c7d4c4b5b357b5a6652695526f200a26636 Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Sat, 5 Oct 2019 13:36:56 -0400 Subject: [PATCH] [O] Optimize unread count with caching --- src/pages/overall/overall-course/overall-course.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pages/overall/overall-course/overall-course.ts b/src/pages/overall/overall-course/overall-course.ts index 45f14fd..e9833b2 100644 --- a/src/pages/overall/overall-course/overall-course.ts +++ b/src/pages/overall/overall-course/overall-course.ts @@ -10,11 +10,17 @@ export default class OverallCourse extends Vue // @ts-ignore @Prop({required: true}) course: Course; + private unread: number = -1; + /** - * Count the number of unread assignments + * Count the number of unread assignments with cache */ countUnread(): number { - return this.course.assignments.filter(a => a.unread).length; + if (this.unread == -1) + { + return this.unread = this.course.assignments.filter(a => a.unread).length; + } + else return this.unread; } }