From 8111186f66554c278c03e8216957fa98257b87bf Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Mon, 14 Feb 2022 18:29:56 +0200 Subject: [PATCH] add answer option --- editors/demo/src/HHMI/HHMI.js | 6 +++--- .../schema/multipleChoiceSingleCorrectNode.js | 2 ++ .../TrueFalseQuestionService/schema/trueFalseNode.js | 2 ++ .../schema/trueFalseSingleCorrectNode.js | 2 ++ .../components/SwitchComponent.js | 2 +- .../schema/multipleChoiceNode.js | 6 ++---- 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js index eaa5b0582..5d85c3ced 100644 --- a/editors/demo/src/HHMI/HHMI.js +++ b/editors/demo/src/HHMI/HHMI.js @@ -22,7 +22,7 @@ const SubmitButton = styled.button` top: 16px; `; -const t = `<p class="paragraph"></p><div id="84db3734-94ed-4dd0-82bb-15404854df0f" class="multiple-choice"><div class="multiple-choice-question" id="38de8538-647a-489d-8474-f92d0d256c32"><p class="paragraph">question</p></div><div class="multiple-choice-option" id="debb868e-bbfe-4ba2-bf93-c963153ff791" correct="false" feedback="feedback 1"><p class="paragraph">answer 1</p></div><div class="multiple-choice-option" id="810bcf10-4fcb-4d1e-9dab-ce35cbd28527" correct="true" feedback="feedback 2"><p class="paragraph">answer 2</p></div></div>`; +const t = `<p class="paragraph"></p><div id="" class="multiple-choice"><div class="multiple-choice-question" id="38de8538-647a-489d-8474-f92d0d256c32"><p class="paragraph">question </p></div><div class="multiple-choice-option" id="debb868e-bbfe-4ba2-bf93-c963153ff791" correct="false" correctanswer="false" feedback="feedback 1"><p class="paragraph">answer 1</p></div><div class="multiple-choice-option" id="810bcf10-4fcb-4d1e-9dab-ce35cbd28527" correct="true" correctanswer="false" feedback="feedback 2"><p class="paragraph">answer 2</p></div></div>`; const Hhmi = () => { const [submited, isSubmited] = useState(false); @@ -39,9 +39,9 @@ const Hhmi = () => { customValues={{ showFeedBack: submited }} fileUpload={file => renderImage(file)} value={t} - readonly + // readonly layout={HhmiLayout} - // onChange={source => console.log(source)} + onChange={source => console.log(source)} /> </> ); diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectNode.js index 719d7e994..3abffaeff 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectNode.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectNode.js @@ -5,6 +5,7 @@ const multipleChoiceSingleCorrectNode = { class: { default: 'multiple-choice-option-single-correct' }, id: { default: uuidv4() }, correct: { default: false }, + answer: { default: false }, feedback: { default: '' }, }, group: 'block questions', @@ -19,6 +20,7 @@ const multipleChoiceSingleCorrectNode = { id: dom.getAttribute('id'), class: dom.getAttribute('class'), correct: JSON.parse(dom.getAttribute('correct').toLowerCase()), + answer: JSON.parse(dom.getAttribute('answer').toLowerCase()), feedback: dom.getAttribute('feedback'), }; }, diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/trueFalseNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/trueFalseNode.js index 2d9c0de70..d7f82a8e5 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/trueFalseNode.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/trueFalseNode.js @@ -5,6 +5,7 @@ const trueFalseNode = { class: { default: 'true-false-option' }, id: { default: uuidv4() }, correct: { default: false }, + answer: { default: false }, feedback: { default: '' }, }, group: 'block questions', @@ -19,6 +20,7 @@ const trueFalseNode = { id: dom.getAttribute('id'), class: dom.getAttribute('class'), correct: JSON.parse(dom.getAttribute('correct').toLowerCase()), + answer: JSON.parse(dom.getAttribute('answer').toLowerCase()), feedback: dom.getAttribute('feedback'), }; }, diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/trueFalseSingleCorrectNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/trueFalseSingleCorrectNode.js index 6182b81c7..f5f90c4c0 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/trueFalseSingleCorrectNode.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/trueFalseSingleCorrectNode.js @@ -5,6 +5,7 @@ const trueFalseSingleCorrectNode = { class: { default: 'true-false-single-correct-option' }, id: { default: uuidv4() }, correct: { default: false }, + answer: { default: false }, feedback: { default: '' }, }, group: 'block questions', @@ -19,6 +20,7 @@ const trueFalseSingleCorrectNode = { id: dom.getAttribute('id'), class: dom.getAttribute('class'), correct: JSON.parse(dom.getAttribute('correct').toLowerCase()), + answer: JSON.parse(dom.getAttribute('answer').toLowerCase()), feedback: dom.getAttribute('feedback'), }; }, diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js index b0464c6c8..446f801fb 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js @@ -62,7 +62,7 @@ const CustomSwitch = ({ node, getPos }) => { main.dispatch( main.state.tr.setNodeMarkup(getPos(), undefined, { ...singleNode.node.attrs, - correctAnswer: !checkedAnswerMode, + answer: !checkedAnswerMode, }), ); } diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js index 9d1ff8867..b3b15511d 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js @@ -5,15 +5,12 @@ const multipleChoiceNode = { class: { default: 'multiple-choice-option' }, id: { default: uuidv4() }, correct: { default: false }, - correctAnswer: { default: false }, + answer: { default: false }, feedback: { default: '' }, }, group: 'block questions', content: 'block*', defining: true, - // selectable: true, - // draggable: true, - // atom: true, parseDOM: [ { tag: 'div.multiple-choice-option', @@ -22,6 +19,7 @@ const multipleChoiceNode = { id: dom.getAttribute('id'), class: dom.getAttribute('class'), correct: JSON.parse(dom.getAttribute('correct').toLowerCase()), + answer: JSON.parse(dom.getAttribute('answer').toLowerCase()), feedback: dom.getAttribute('feedback'), }; }, -- GitLab