From 2557a3784cc0e0846c9b666b5a0eb8e40dc49dd9 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Thu, 3 Mar 2022 17:09:14 +0200
Subject: [PATCH] make sure unique id exist

---
 editors/demo/src/HHMI/HHMI.js                             | 2 +-
 .../components/ContainerEditor.js                         | 1 -
 .../schema/fillTheGapContainerNode.js                     | 4 ++++
 .../FillTheGapQuestionService/schema/fillTheGapNode.js    | 8 ++++----
 .../schema/multipleChoiceSingleCorrectContainerNode.js    | 4 +---
 .../schema/multipleChoiceSingleCorrectNode.js             | 4 +---
 .../schema/questionSingleNode.js                          | 4 +---
 .../schema/questionTrueFalseNode.js                       | 4 +---
 .../TrueFalseQuestionService/schema/trueFalseNode.js      | 4 +---
 .../schema/questionTrueFalseSingleNode.js                 | 4 +---
 .../schema/trueFalseSingleCorrectNode.js                  | 4 +---
 .../schema/multipleChoiceContainerNode.js                 | 4 +---
 .../schema/multipleChoiceNode.js                          | 4 +---
 .../MultipleChoiceQuestionService/schema/questionNode.js  | 4 +---
 14 files changed, 19 insertions(+), 36 deletions(-)

diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js
index 7e8606366..09c338aa8 100644
--- a/editors/demo/src/HHMI/HHMI.js
+++ b/editors/demo/src/HHMI/HHMI.js
@@ -68,7 +68,7 @@ const Hhmi = () => {
         value={t}
         readonly={readOnly}
         layout={HhmiLayout}
-        // onChange={source => console.log(source)}
+        onChange={source => console.log(source)}
       />
     </>
   );
diff --git a/wax-prosemirror-services/src/FillTheGapQuestionService/components/ContainerEditor.js b/wax-prosemirror-services/src/FillTheGapQuestionService/components/ContainerEditor.js
index 57a1a5b93..b25b24aa2 100644
--- a/wax-prosemirror-services/src/FillTheGapQuestionService/components/ContainerEditor.js
+++ b/wax-prosemirror-services/src/FillTheGapQuestionService/components/ContainerEditor.js
@@ -32,7 +32,6 @@ const EditorWrapper = styled.span`
 `;
 
 const EditorComponent = ({ node, view, getPos }) => {
-  console.log(node);
   const editorRef = useRef();
 
   const context = useContext(WaxContext);
diff --git a/wax-prosemirror-services/src/FillTheGapQuestionService/schema/fillTheGapContainerNode.js b/wax-prosemirror-services/src/FillTheGapQuestionService/schema/fillTheGapContainerNode.js
index 7175d31ea..11b09b05f 100644
--- a/wax-prosemirror-services/src/FillTheGapQuestionService/schema/fillTheGapContainerNode.js
+++ b/wax-prosemirror-services/src/FillTheGapQuestionService/schema/fillTheGapContainerNode.js
@@ -2,6 +2,8 @@ const fillTheGapContainerNode = {
   attrs: {
     id: { default: '' },
     class: { default: 'fill-the-gap' },
+    answer: { default: false },
+    feedback: { default: '' },
   },
   group: 'block questions',
   atom: true,
@@ -16,6 +18,8 @@ const fillTheGapContainerNode = {
         return {
           id: dom.dataset.id,
           class: dom.getAttribute('class'),
+          answer: JSON.parse(dom.getAttribute('answer').toLowerCase()),
+          feedback: dom.getAttribute('feedback'),
         };
       },
     },
diff --git a/wax-prosemirror-services/src/FillTheGapQuestionService/schema/fillTheGapNode.js b/wax-prosemirror-services/src/FillTheGapQuestionService/schema/fillTheGapNode.js
index 7afdcfe46..d8b64096c 100644
--- a/wax-prosemirror-services/src/FillTheGapQuestionService/schema/fillTheGapNode.js
+++ b/wax-prosemirror-services/src/FillTheGapQuestionService/schema/fillTheGapNode.js
@@ -1,13 +1,13 @@
 const fillTheGapNode = {
+  attrs: {
+    id: { default: '' },
+    class: { default: 'fill-the-gap' },
+  },
   group: 'inline',
   content: 'text*',
   inline: true,
   atom: true,
   excludes: 'fill_the_gap',
-  attrs: {
-    id: { default: '' },
-    class: { default: 'fill-the-gap' },
-  },
   parseDOM: [
     {
       tag: 'span.fill-the-gap',
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectContainerNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectContainerNode.js
index a1a4ba8a0..e599b8c6d 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectContainerNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectContainerNode.js
@@ -1,8 +1,6 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const multipleChoiceSingleCorrectContainerNode = {
   attrs: {
-    id: { default: uuidv4() },
+    id: { default: '' },
     class: { default: 'multiple-choice-single-correct' },
     correctId: { default: '' },
   },
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectNode.js
index 3abffaeff..5b3dc591c 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectNode.js
@@ -1,9 +1,7 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const multipleChoiceSingleCorrectNode = {
   attrs: {
     class: { default: 'multiple-choice-option-single-correct' },
-    id: { default: uuidv4() },
+    id: { default: '' },
     correct: { default: false },
     answer: { default: false },
     feedback: { default: '' },
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/questionSingleNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/questionSingleNode.js
index 7ffbd3a30..dc9dc917d 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/questionSingleNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/questionSingleNode.js
@@ -1,9 +1,7 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const questionSingleNode = {
   attrs: {
+    id: { default: '' },
     class: { default: 'multiple-choice-question-single' },
-    id: { default: uuidv4() },
   },
   group: 'block questions',
   content: 'block*',
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/questionTrueFalseNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/questionTrueFalseNode.js
index 7dc512466..46a41394a 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/questionTrueFalseNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/questionTrueFalseNode.js
@@ -1,9 +1,7 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const questionTrueFalseNode = {
   attrs: {
+    id: { default: '' },
     class: { default: 'true-false-question' },
-    id: { default: uuidv4() },
   },
   group: 'block questions',
   content: 'block*',
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/trueFalseNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/trueFalseNode.js
index d7f82a8e5..8150946dd 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/trueFalseNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/trueFalseNode.js
@@ -1,9 +1,7 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const trueFalseNode = {
   attrs: {
     class: { default: 'true-false-option' },
-    id: { default: uuidv4() },
+    id: { default: '' },
     correct: { default: false },
     answer: { default: false },
     feedback: { default: '' },
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/questionTrueFalseSingleNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/questionTrueFalseSingleNode.js
index a75a918c7..f3385105c 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/questionTrueFalseSingleNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/questionTrueFalseSingleNode.js
@@ -1,9 +1,7 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const questionTrueFalseNode = {
   attrs: {
+    id: { default: '' },
     class: { default: 'true-false-question-single' },
-    id: { default: uuidv4() },
   },
   group: 'block questions',
   content: 'block*',
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/trueFalseSingleCorrectNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/trueFalseSingleCorrectNode.js
index f5f90c4c0..e56c8c88a 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/trueFalseSingleCorrectNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/trueFalseSingleCorrectNode.js
@@ -1,9 +1,7 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const trueFalseSingleCorrectNode = {
   attrs: {
+    id: { default: '' },
     class: { default: 'true-false-single-correct-option' },
-    id: { default: uuidv4() },
     correct: { default: false },
     answer: { default: false },
     feedback: { default: '' },
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js
index c8e0d10bd..ffe3c9801 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js
@@ -1,8 +1,6 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const multipleChoiceContainerNode = {
   attrs: {
-    id: { default: uuidv4() },
+    id: { default: '' },
     class: { default: 'multiple-choice' },
   },
   group: 'block questions',
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js
index b3b15511d..daf0168fa 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js
@@ -1,9 +1,7 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const multipleChoiceNode = {
   attrs: {
     class: { default: 'multiple-choice-option' },
-    id: { default: uuidv4() },
+    id: { default: '' },
     correct: { default: false },
     answer: { default: false },
     feedback: { default: '' },
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/questionNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/questionNode.js
index efa190215..fa591559f 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/questionNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/questionNode.js
@@ -1,9 +1,7 @@
-import { v4 as uuidv4 } from 'uuid';
-
 const questionNode = {
   attrs: {
     class: { default: 'multiple-choice-question' },
-    id: { default: uuidv4() },
+    id: { default: '' },
   },
   group: 'block questions',
   content: 'block*',
-- 
GitLab