From 2fa373bc30c43204a3807f8baf06c260b101fdd6 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Thu, 6 Dec 2018 16:29:27 +0100 Subject: [PATCH] Add class filter to results --- .../components/AssignmentWithSubmissions.vue | 44 ++++++++++++++----- .../gql/assignmentWithSubmissionsQuery.gql | 8 ++++ 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/client/src/components/AssignmentWithSubmissions.vue b/client/src/components/AssignmentWithSubmissions.vue index 7e598384..b5fe93da 100644 --- a/client/src/components/AssignmentWithSubmissions.vue +++ b/client/src/components/AssignmentWithSubmissions.vue @@ -2,15 +2,16 @@

{{assignment.title}}

Zu diesem Auftrag sind noch keine Ergebnisse vorhanden

- - - - + + +
@@ -23,11 +24,30 @@ components: { StudentSubmission }, + methods: { submissionLink(submission) { return `/submission/${submission.id}` + }, + belongsToSchool(submission) { + if (this.currentFilter === '') { + return true; + } + return submission.student.schoolClasses.edges.some(edge => edge.node.id === this.currentFilter) } - } + }, + + computed: { + submissions() { + return this.assignment.submissions.filter(submission => { + return this.belongsToSchool(submission); + }); + }, + currentFilter() { + return this.$store.state.filterForSchoolClass; + }, + }, + } @@ -40,8 +60,12 @@ font-size: toRem(35px); } - &__submission:first-of-type { - border-top: 1px solid $color-grey; + &__link { + display: block; + &:first-of-type { + border-top: 1px solid $color-grey; + } } + } diff --git a/client/src/graphql/gql/assignmentWithSubmissionsQuery.gql b/client/src/graphql/gql/assignmentWithSubmissionsQuery.gql index 2d167666..4cc06544 100644 --- a/client/src/graphql/gql/assignmentWithSubmissionsQuery.gql +++ b/client/src/graphql/gql/assignmentWithSubmissionsQuery.gql @@ -1,3 +1,4 @@ +#import "./fragments/schoolClassParts.gql" query AssignmentWithSubmissions($id: ID!) { assignment(id: $id) { title @@ -8,6 +9,13 @@ query AssignmentWithSubmissions($id: ID!) { student { firstName lastName + schoolClasses { + edges { + node { + ...SchoolClassParts + } + } + } } } }