Add class filter to results
This commit is contained in:
parent
460d413196
commit
2fa373bc30
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue