Add newlines to student submissions

This commit is contained in:
Ramon Wenger 2018-10-25 16:52:55 +02:00
parent 0aec11dd76
commit 7c3d19170d
3 changed files with 46 additions and 18 deletions

View File

@ -1,7 +1,6 @@
<template> <template>
<div class="final-submission"> <div class="final-submission">
<div v-if="submission.text" class="final-submission__text"> <div v-if="submission.text" class="final-submission__text" v-html="text">
{{submission.text}}
</div> </div>
<document-block <document-block
v-if="submission.document" v-if="submission.document"
@ -17,6 +16,7 @@
<script> <script>
import InfoIcon from '@/components/icons/InfoIcon'; import InfoIcon from '@/components/icons/InfoIcon';
import DocumentBlock from '@/components/content-blocks/DocumentBlock'; import DocumentBlock from '@/components/content-blocks/DocumentBlock';
import {newLineToParagraph} from '@/helpers/text';
export default { export default {
props: ['submission'], props: ['submission'],
@ -24,6 +24,12 @@
components: { components: {
InfoIcon, InfoIcon,
DocumentBlock, DocumentBlock,
},
computed: {
text() {
return newLineToParagraph(this.submission.text);
}
} }
} }
</script> </script>

View File

@ -0,0 +1,6 @@
export const newLineToParagraph = (text) => {
return text
.split(/\n+/)
.map(p => `<p>${p}</p>`)
.join('');
};

View File

@ -2,7 +2,7 @@
<div class="article submission-page"> <div class="article submission-page">
<div class="article__header"> <div class="article__header">
<h1 class="article__title">{{studentSubmission.assignment.title}}</h1> <h1 class="article__title">{{studentSubmission.assignment.title}}</h1>
<h2 class="article__subtitle">{{`${studentSubmission.student.firstName} ${studentSubmission.student.lastName}`}}</h2> <h2 class="article__subtitle">{{fullName}}</h2>
</div> </div>
<div class="article__content article-content"> <div class="article__content article-content">
<p v-if="studentSubmission.document && studentSubmission.document.length > 0" class="article-content__document"> <p v-if="studentSubmission.document && studentSubmission.document.length > 0" class="article-content__document">
@ -10,18 +10,42 @@
<student-submission-document :document="studentSubmission.document"></student-submission-document> <student-submission-document :document="studentSubmission.document"></student-submission-document>
</a> </a>
</p> </p>
<p>{{studentSubmission.text}}</p> <p class="article-content__text" v-html="text"></p>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {newLineToParagraph} from '@/helpers/text';
import DocumentIcon from '@/components/icons/DocumentIcon'; import DocumentIcon from '@/components/icons/DocumentIcon';
import StudentSubmissionDocument from '@/components/StudentSubmissionDocument'; import StudentSubmissionDocument from '@/components/StudentSubmissionDocument';
import STUDENT_SUBMISSIONS_QUERY from '@/graphql/gql/studentSubmissionQuery.gql'; import STUDENT_SUBMISSIONS_QUERY from '@/graphql/gql/studentSubmissionQuery.gql';
export default { export default {
components: { DocumentIcon, StudentSubmissionDocument }, components: {DocumentIcon, StudentSubmissionDocument},
computed: {
text() {
return newLineToParagraph(this.studentSubmission.text);
},
fullName() {
return `${this.studentSubmission.student.firstName} ${this.studentSubmission.student.lastName}`
}
},
apollo: {
studentSubmission() {
return {
query: STUDENT_SUBMISSIONS_QUERY,
variables() {
return {
id: this.$route.params.id
}
}
}
},
},
data() { data() {
return { return {
@ -37,19 +61,7 @@
document: '' document: ''
} }
} }
}, }
apollo: {
studentSubmission() {
return {
query: STUDENT_SUBMISSIONS_QUERY,
variables() {
return {
id: this.$route.params.id
}
}
}
},
},
} }
</script> </script>
@ -58,5 +70,9 @@
&__document { &__document {
margin-bottom: 1rem; margin-bottom: 1rem;
} }
&__text /deep/ > p {
margin-bottom: 1em;
}
} }
</style> </style>