Add submissions query to submissions page

This commit is contained in:
Ramon Wenger 2018-10-08 15:05:59 +02:00
parent 6f15ac4173
commit 3be07c471c
5 changed files with 51 additions and 5 deletions

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="student-submission"> <div class="student-submission">
<div class="student-submission__student-name"> <div class="student-submission__student-name">
{{submission.name}} {{name}}
</div> </div>
<div class="student-submission__entry"> <div class="student-submission__entry">
{{submission.text}} {{submission.text}}
@ -11,7 +11,14 @@
<script> <script>
export default { export default {
props: ['submission'] props: ['submission'],
computed: {
name() {
return this.submission && this.submission.student
? `${this.submission.student.firstName} ${this.submission.student.lastName}` : '';
}
}
} }
</script> </script>

View File

@ -2,7 +2,7 @@
<div> <div>
<nav class="module-navigation"> <nav class="module-navigation">
<h3 class="module-navigation__heading">Inhalte: {{module.metaTitle}}</h3> <h3 class="module-navigation__heading">Inhalte: {{module.metaTitle}}</h3>
<div class="module-navigation__anchors"> <div class="module-navigation__anchors" v-if="onModulePage">
<a href="#" class="module-navigation__anchor module-navigation__anchor--active">Einleitung</a> <a href="#" class="module-navigation__anchor module-navigation__anchor--active">Einleitung</a>
<a href="#" v-scroll-to="'#objectives'" class="module-navigation__anchor">Lernziele</a> <a href="#" v-scroll-to="'#objectives'" class="module-navigation__anchor">Lernziele</a>
@ -16,7 +16,7 @@
</router-link> </router-link>
<div class="module-navigation__anchors"> <div class="module-navigation__anchors">
<router-link <router-link
to="/module/geld/submissions" :to="submissionsLink(assignment)"
v-for="assignment in module.assignments" v-for="assignment in module.assignments"
:key="assignment.id" :key="assignment.id"
class="module-navigation__anchor" class="module-navigation__anchor"
@ -37,6 +37,12 @@
module: moduleQuery module: moduleQuery
}, },
computed: {
onModulePage() {
return this.$route.name === 'module';
}
},
data() { data() {
return { return {
module: {} module: {}
@ -46,6 +52,9 @@
methods: { methods: {
chapterId(index) { chapterId(index) {
return `#chapter-${index}` return `#chapter-${index}`
},
submissionsLink(assignment) {
return `/module/${this.module.slug}/submissions/${assignment.id}`;
} }
} }
} }

View File

@ -0,0 +1,13 @@
query Submissions($id: ID!) {
assignment(id: $id) {
submissions {
id
text
document
student {
firstName
lastName
}
}
}
}

View File

@ -15,11 +15,28 @@
<script> <script>
import StudentSubmission from '@/components/StudentSubmission'; import StudentSubmission from '@/components/StudentSubmission';
import SUBMISSIONS_QUERY from '@/graphql/gql/submissionsQuery.gql';
export default { export default {
components: { components: {
StudentSubmission StudentSubmission
}, },
apollo: {
submissions() {
return {
query: SUBMISSIONS_QUERY,
variables: {
id: this.$route.params.id
},
update(result) {
return result.assignment.submissions;
}
}
},
},
data() { data() {
return { return {
submissions: [ submissions: [

View File

@ -27,7 +27,7 @@ const routes = [
meta: {filter: true} meta: {filter: true}
}, },
{ {
path: 'submissions', path: 'submissions/:id',
name: 'submissions', name: 'submissions',
component: submissions, component: submissions,
meta: {filter: true} meta: {filter: true}