Fix student submission feedback bug on turning in

This commit is contained in:
Ramon Wenger 2020-11-19 13:51:34 +01:00
parent ece9178513
commit c9735207c2
1 changed files with 10 additions and 2 deletions

View File

@ -214,14 +214,22 @@
const data = store.readQuery({query, variables}); const data = store.readQuery({query, variables});
if (data) { if (data) {
if (!data.studentSubmission.submissionFeedback) {
data.studentSubmission.submissionFeedback = {
'__typename': 'SubmissionFeedbackNode'
};
}
data.studentSubmission.submissionFeedback = Object.assign({}, data.studentSubmission.submissionFeedback, { data.studentSubmission.submissionFeedback = Object.assign({}, data.studentSubmission.submissionFeedback, {
id: updatedSubmissionFeedback.id, id: updatedSubmissionFeedback.id,
final: updatedSubmissionFeedback.final final: updatedSubmissionFeedback.final
}); });
if (updatedSubmissionFeedback.text) { if (updatedSubmissionFeedback.text !== undefined) {
// text is only being set on create and on turing in, then we'll update the cache with it. Otherwise, we'll trust the local state, as to not overwrite the input field // text is only being set on create and on turning in, then we'll update the cache with it. Otherwise, we'll trust the local state, as to not overwrite the input field
data.studentSubmission.submissionFeedback.text = updatedSubmissionFeedback.text; data.studentSubmission.submissionFeedback.text = updatedSubmissionFeedback.text;
} else {
data.studentSubmission.submissionFeedback.text = this.studentSubmission.submissionFeedback ? this.studentSubmission.submissionFeedback.text : '';
} }
store.writeQuery({query, variables, data}); store.writeQuery({query, variables, data});