From 437a40f5c0cf9b5f229ee79fd837303faf36c389 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Thu, 11 Aug 2022 14:27:14 +0300
Subject: [PATCH] save multiple dropdown feedback

---
 editors/demo/src/HHMI/HHMI.js                      |  2 +-
 .../components/FeedbackComponent.js                | 14 +++++++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js
index f161b02fa..a95998aac 100644
--- a/editors/demo/src/HHMI/HHMI.js
+++ b/editors/demo/src/HHMI/HHMI.js
@@ -82,7 +82,7 @@ const Hhmi = () => {
         ref={editorRef}
         customValues={{ showFeedBack: submited }}
         fileUpload={file => renderImage(file)}
-        value={content}
+        // value={content}
         readonly={readOnly}
         layout={HhmiLayout}
         onChange={source => console.log(source)}
diff --git a/wax-prosemirror-services/src/MatchingService/components/FeedbackComponent.js b/wax-prosemirror-services/src/MatchingService/components/FeedbackComponent.js
index 1ea470dc2..7e95320ce 100644
--- a/wax-prosemirror-services/src/MatchingService/components/FeedbackComponent.js
+++ b/wax-prosemirror-services/src/MatchingService/components/FeedbackComponent.js
@@ -72,6 +72,18 @@ export default ({ node, view, getPos, readOnly }) => {
   };
 
   const saveFeedBack = () => {
+    const allNodes = getNodes(main);
+    allNodes.forEach(singleNode => {
+      if (singleNode.node.attrs.id === node.attrs.id) {
+        main.dispatch(
+          main.state.tr.setNodeMarkup(getPos(), undefined, {
+            ...singleNode.node.attrs,
+            feedback: feedBack,
+          }),
+        );
+        setFirstRun(false);
+      }
+    });
     return false;
   };
 
@@ -103,7 +115,7 @@ const getNodes = view => {
   const allNodes = DocumentHelpers.findBlockNodes(view.state.doc);
   const fillTheGapNodes = [];
   allNodes.forEach(node => {
-    if (node.node.type.name === 'fill_the_gap_container')
+    if (node.node.type.name === 'matching_container')
       fillTheGapNodes.push(node);
   });
   return fillTheGapNodes;
-- 
GitLab