Add newlines to student submissions
This commit is contained in:
parent
0aec11dd76
commit
7c3d19170d
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
export const newLineToParagraph = (text) => {
|
||||||
|
return text
|
||||||
|
.split(/\n+/)
|
||||||
|
.map(p => `<p>${p}</p>`)
|
||||||
|
.join('');
|
||||||
|
};
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue