Add class filter to results

This commit is contained in:
Ramon Wenger 2018-12-06 16:29:27 +01:00
parent 460d413196
commit 2fa373bc30
2 changed files with 42 additions and 10 deletions

View File

@ -2,15 +2,16 @@
<div class="assignment-with-submissions"> <div class="assignment-with-submissions">
<h1 class="assignment-with-submissions__title">{{assignment.title}}</h1> <h1 class="assignment-with-submissions__title">{{assignment.title}}</h1>
<p v-if="!assignment.submissions.length">Zu diesem Auftrag sind noch keine Ergebnisse vorhanden</p> <p v-if="!assignment.submissions.length">Zu diesem Auftrag sind noch keine Ergebnisse vorhanden</p>
<router-link <router-link
:to="submissionLink(submission)" :to="submissionLink(submission)"
v-for="(submission, index) in assignment.submissions" v-for="(submission, index) in submissions"
class="assignment-with-submissions__link"
:key="index"> :key="index">
<student-submission class="assignment-with-submissions__submission" <student-submission class="assignment-with-submissions__submission"
:submission="submission" :submission="submission"
> >
</student-submission> </student-submission>
</router-link> </router-link>
</div> </div>
</template> </template>
@ -23,11 +24,30 @@
components: { components: {
StudentSubmission StudentSubmission
}, },
methods: { methods: {
submissionLink(submission) { submissionLink(submission) {
return `/submission/${submission.id}` 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;
},
},
} }
</script> </script>
@ -40,8 +60,12 @@
font-size: toRem(35px); font-size: toRem(35px);
} }
&__submission:first-of-type { &__link {
border-top: 1px solid $color-grey; display: block;
&:first-of-type {
border-top: 1px solid $color-grey;
}
} }
} }
</style> </style>

View File

@ -1,3 +1,4 @@
#import "./fragments/schoolClassParts.gql"
query AssignmentWithSubmissions($id: ID!) { query AssignmentWithSubmissions($id: ID!) {
assignment(id: $id) { assignment(id: $id) {
title title
@ -8,6 +9,13 @@ query AssignmentWithSubmissions($id: ID!) {
student { student {
firstName firstName
lastName lastName
schoolClasses {
edges {
node {
...SchoolClassParts
}
}
}
} }
} }
} }