diff --git a/src/pages/overall/overall-course/overall-course.vue b/src/pages/overall/overall-course/overall-course.vue index d5900db..bb3f096 100644 --- a/src/pages/overall/overall-course/overall-course.vue +++ b/src/pages/overall/overall-course/overall-course.vue @@ -8,7 +8,7 @@ :assignment="assignment" :key="assignment.id" unread="true" - v-on:mark-as-read="markAsRead(assignment)"> + v-on:mark-as-read="assignment.markAsRead()"> @@ -28,6 +28,11 @@ { @Prop({required: true}) course: Course; + mounted() + { + this.unreadAssignments().forEach(a => a.addCallback(() => this.$forceUpdate())); + } + unreadAssignments(): Assignment[] { return this.course.assignments.filter(a => a.unread); @@ -37,11 +42,6 @@ { return this.unreadAssignments().length; } - - markAsRead(assignment: Assignment) - { - assignment.markAsRead().then(() => this.$forceUpdate()).catch(alert); - } }