Refactor code to be clearer
This commit is contained in:
parent
aeab246aee
commit
371c5cd276
|
|
@ -0,0 +1,11 @@
|
||||||
|
const extractAnswerFromQuestion = (previous, question) => {
|
||||||
|
return [...previous, {title: question.title, answer: question.correctAnswer}];
|
||||||
|
};
|
||||||
|
|
||||||
|
export const extractSurveySolutions = (prev, element) => {
|
||||||
|
if (!element || !element.elements) {
|
||||||
|
// element does not exist or does not have children, so just return the previous result
|
||||||
|
return prev
|
||||||
|
}
|
||||||
|
return [...prev, ...element.elements.reduce(extractAnswerFromQuestion, [])];
|
||||||
|
};
|
||||||
|
|
@ -18,6 +18,8 @@
|
||||||
import UPDATE_ANSWER from '@/graphql/gql/mutations/updateAnswer.gql';
|
import UPDATE_ANSWER from '@/graphql/gql/mutations/updateAnswer.gql';
|
||||||
import Solution from '@/components/content-blocks/Solution';
|
import Solution from '@/components/content-blocks/Solution';
|
||||||
|
|
||||||
|
import {extractSurveySolutions} from '@/helpers/survey-solutions';
|
||||||
|
|
||||||
const Survey = SurveyVue.Survey;
|
const Survey = SurveyVue.Survey;
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -54,14 +56,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
answers() {
|
answers() {
|
||||||
return this.survey.currentPage && this.survey.currentPage.elements ? this.survey.currentPage.elements.reduce((prev, element) => {
|
return this.survey.currentPage && this.survey.currentPage.elements
|
||||||
if (!element || !element.elements) {
|
? this.survey.currentPage.elements.reduce(extractSurveySolutions, [])
|
||||||
return prev
|
: []
|
||||||
}
|
|
||||||
return [...prev, ...element.elements.reduce((pr, question) => {
|
|
||||||
return [...pr, {title: question.title, answer: question.correctAnswer}];
|
|
||||||
}, [])];
|
|
||||||
}, []) : []
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -108,8 +105,6 @@
|
||||||
survey.locale = 'de';
|
survey.locale = 'de';
|
||||||
survey.showProgressBar = 'bottom';
|
survey.showProgressBar = 'bottom';
|
||||||
|
|
||||||
console.log(survey);
|
|
||||||
|
|
||||||
return survey;
|
return survey;
|
||||||
},
|
},
|
||||||
reopen() {
|
reopen() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue