From 7331abf80d5dcfe04ac23e14e3b0442534cfa374 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Thu, 3 Feb 2022 23:49:57 +0200
Subject: [PATCH] set default false on readonly

---
 editors/demo/src/Editors.js                              | 2 +-
 editors/demo/src/HHMI/HHMI.js                            | 4 ++--
 .../components/SwitchComponent.js                        | 9 ++++++++-
 .../schema/multipleChoiceNode.js                         | 1 +
 .../src/OverlayService/usePosition.js                    | 4 ++--
 5 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/editors/demo/src/Editors.js b/editors/demo/src/Editors.js
index abd0628fb..d19991a2e 100644
--- a/editors/demo/src/Editors.js
+++ b/editors/demo/src/Editors.js
@@ -70,7 +70,7 @@ const Editors = () => {
       case 'ncbi':
         return <NCBI />;
       default:
-        return <Editoria />;
+        return <HHMI />;
     }
   };
 
diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js
index 39d314117..a30b810a3 100644
--- a/editors/demo/src/HHMI/HHMI.js
+++ b/editors/demo/src/HHMI/HHMI.js
@@ -15,7 +15,7 @@ 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 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="true" feedback=""><p class="paragraph">answer 2</p></div></div>`;
 
 const Hhmi = () => {
   return (
@@ -25,7 +25,7 @@ const Hhmi = () => {
         autoFocus
         fileUpload={file => renderImage(file)}
         value={t}
-        // readonly
+        readonly
         layout={HhmiLayout}
         // onChange={source => console.log(source)}
       />
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js
index 3e49b17a6..4cc9b3409 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js
@@ -27,9 +27,16 @@ const CustomSwitch = ({ node, getPos }) => {
   const context = useContext(WaxContext);
   const [checked, setChecked] = useState(false);
   const {
+    view,
     view: { main },
   } = context;
 
+  const isEditable = view.main.props.editable(editable => {
+    return editable;
+  });
+
+  console.log(isEditable);
+
   useEffect(() => {
     const allNodes = getNodes(main);
     allNodes.forEach(singNode => {
@@ -56,7 +63,7 @@ const CustomSwitch = ({ node, getPos }) => {
 
   return (
     <StyledSwitch
-      checked={checked}
+      checked={isEditable ? checked : false}
       checkedChildren="YES"
       label="Correct?"
       labelPosition="left"
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js
index b828697d3..9d1ff8867 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js
@@ -5,6 +5,7 @@ const multipleChoiceNode = {
     class: { default: 'multiple-choice-option' },
     id: { default: uuidv4() },
     correct: { default: false },
+    correctAnswer: { default: false },
     feedback: { default: '' },
   },
   group: 'block questions',
diff --git a/wax-prosemirror-services/src/OverlayService/usePosition.js b/wax-prosemirror-services/src/OverlayService/usePosition.js
index 5553fa494..d5e63043f 100644
--- a/wax-prosemirror-services/src/OverlayService/usePosition.js
+++ b/wax-prosemirror-services/src/OverlayService/usePosition.js
@@ -33,8 +33,8 @@ export default options => {
     const WaxSurface = focusedView.dom.getBoundingClientRect();
     const start = focusedView.coordsAtPos(from);
     const end = focusedView.coordsAtPos(to);
-    const left = end.left - WaxSurface.left + 5;
-    const top = end.top - WaxSurface.top + 20;
+    const { left } = end;
+    const top = end.top + 20;
     return {
       top,
       left,
-- 
GitLab