From af255650154b1e7e64e140e7dc62e6c4a5d84477 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Mon, 14 Feb 2022 02:39:49 +0200 Subject: [PATCH] submit show feedback --- editors/demo/src/HHMI/HHMI.js | 20 ++++++++++++++----- wax-prosemirror-core/src/WaxView.js | 1 + .../components/AnswerComponent.js | 5 ++++- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js index dd39bc386..ac76f3f00 100644 --- a/editors/demo/src/HHMI/HHMI.js +++ b/editors/demo/src/HHMI/HHMI.js @@ -1,4 +1,5 @@ -import React from 'react'; +import React, { useState } from 'react'; +import styled from 'styled-components'; import { Wax } from 'wax-prosemirror-core'; @@ -15,18 +16,27 @@ const renderImage = file => { }); }; -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=""><p class="paragraph">answer 1</p></div><div class="multiple-choice-option" id="810bcf10-4fcb-4d1e-9dab-ce35cbd28527" correct="false" feedback=""><p class="paragraph">answer 2</p></div></div>`; +const SubmitButton = styled.button` + position: absolute; + left: 600px; + top: 16px; +`; -const submitQuestions = () => {}; +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="false" feedback="feedback 2"><p class="paragraph">answer 2</p></div></div>`; const Hhmi = () => { + const [submited, isSubmited] = useState(false); + const submitQuestions = () => { + isSubmited(true); + }; + return ( <> - <button onClick={submitQuestions}>Submit</button> + <SubmitButton onClick={submitQuestions}>Submit</SubmitButton> <Wax config={config} autoFocus - customValues={{ showFeedBack: false }} + customValues={{ showFeedBack: submited }} fileUpload={file => renderImage(file)} value={t} readonly diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js index d21e175a8..d29d850e3 100644 --- a/wax-prosemirror-core/src/WaxView.js +++ b/wax-prosemirror-core/src/WaxView.js @@ -70,6 +70,7 @@ const WaxView = forwardRef((props, ref) => { { mount: node }, { editable: () => !readonly, + customValues, state: EditorState.create(options), dispatchTransaction, disallowedTools: [], diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/AnswerComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/AnswerComponent.js index f2d463094..f05649d4b 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/AnswerComponent.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/AnswerComponent.js @@ -1,3 +1,4 @@ +/* eslint-disable react/destructuring-assignment */ /* eslint-disable react/prop-types */ import React, { useContext } from 'react'; import styled from 'styled-components'; @@ -76,6 +77,8 @@ export default ({ node, view, getPos }) => { view: { main }, } = context; + const customProps = context.view.main.props.customValues; + const isEditable = main.props.editable(editable => { return editable; }); @@ -176,7 +179,7 @@ export default ({ node, view, getPos }) => { <QuestionData> <EditorComponent getPos={getPos} node={node} view={view} /> </QuestionData> - {!readOnly && ( + {customProps.showFeedBack && ( <FeedbackComponent getPos={getPos} node={node} view={view} /> )} </QuestionWrapper> -- GitLab