From 8c956cf3a8bc63aa17063ae5b835c741b41df2fb Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Sun, 5 Sep 2021 13:45:16 +0300 Subject: [PATCH] fix feedback --- .../components/FeedbackComponent.js | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js index 468279e32..8d8e14ca4 100644 --- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js +++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js @@ -23,13 +23,17 @@ const FeedBackInput = styled.input` export default ({ node, view, getPos }) => { const context = useContext(WaxContext); const [feedBack, setFeedBack] = useState(''); + const [isFirstRun, setFirstRun] = useState(true); const feedBackRef = useRef(null); useEffect(() => { const allNodes = getNodes(context.view.main); allNodes.forEach(singNode => { if (singNode.node.attrs.id === node.attrs.id) { - console.log('here', singNode.node.attrs.feedback); + if (!isFirstRun) { + if (singNode.node.attrs.feedback === '') + setFeedBack(singNode.node.attrs.feedback); + } if (singNode.node.attrs.feedback !== '') setFeedBack(singNode.node.attrs.feedback); } @@ -52,12 +56,19 @@ export default ({ node, view, getPos }) => { }; const saveFeedBack = () => { - context.view.main.dispatch( - context.view.main.state.tr.setNodeMarkup(getPos(), undefined, { - ...node.attrs, - feedback: feedBack, - }), - ); + const allNodes = getNodes(context.view.main); + allNodes.forEach(singNode => { + if (singNode.node.attrs.id === node.attrs.id) { + context.view.main.dispatch( + context.view.main.state.tr.setNodeMarkup(getPos(), undefined, { + ...node.attrs, + feedback: feedBack, + }), + ); + setFirstRun(false); + } + }); + return false; }; const onFocus = () => { -- GitLab