From 88b8953bc27569b805dde8b0e2191d21126cb15b Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Tue, 16 Jan 2024 11:19:37 +0200
Subject: [PATCH] revert creation of multiple

---
 .../MultipleChoiceQuestionService.js          | 10 ++---
 ...tipleChoiceSingleCorrectQuestionService.js | 10 ++---
 .../components/AnswerComponent.js             | 22 +---------
 .../TrueFalseQuestionService.js               | 10 ++---
 .../components/AnswerComponent.js             | 22 +---------
 .../TrueFalseSingleCorrectQuestionService.js  | 10 ++---
 .../components/AnswerComponent.js             | 22 +---------
 .../components/AnswerComponent.js             | 42 +++++++++----------
 .../components/EditorComponent.js             |  9 ++--
 .../components/QuestionComponent.js           |  2 +-
 .../multipleQuestionStyles.css                |  9 ++--
 11 files changed, 56 insertions(+), 112 deletions(-)

diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js b/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js
index ef075cfc1..8d372ad10 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js
@@ -32,11 +32,11 @@ class MultipleChoiceQuestionService extends Service {
       question_node_multiple: questionNode,
     });
 
-    addPortal({
-      nodeView: MultipleChoiceContainerNodeView,
-      component: MultipleChoiceContainerComponent,
-      context: this.app,
-    });
+    // addPortal({
+    //   nodeView: MultipleChoiceContainerNodeView,
+    //   component: MultipleChoiceContainerComponent,
+    //   context: this.app,
+    // });
 
     addPortal({
       nodeView: QuestionNodeView,
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestionService.js b/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestionService.js
index 79f481c1b..0ce78d541 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestionService.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestionService.js
@@ -30,11 +30,11 @@ class MultipleChoiceSingleCorrectQuestionService extends Service {
       question_node_multiple_single: questionSingleNode,
     });
 
-    addPortal({
-      nodeView: MultipleChoiceSingleCorrectContainerNodeView,
-      component: MultipleChoiceContainerComponent,
-      context: this.app,
-    });
+    // addPortal({
+    //   nodeView: MultipleChoiceSingleCorrectContainerNodeView,
+    //   component: MultipleChoiceContainerComponent,
+    //   context: this.app,
+    // });
 
     addPortal({
       nodeView: QuestionMultipleSingleNodeView,
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/components/AnswerComponent.js b/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/components/AnswerComponent.js
index ceaa25f7a..e7005a3d1 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/components/AnswerComponent.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/components/AnswerComponent.js
@@ -131,30 +131,10 @@ export default ({ node, view, getPos }) => {
     };
   }, []);
 
-  // const removeOption = () => {
-  //   const answersCount = findAnswerCount();
-  //   if (answersCount.count >= 1) {
-  //     main.state.doc.nodesBetween(getPos(), getPos() + 1, (sinlgeNode, pos) => {
-  //       if (sinlgeNode.attrs.id === node.attrs.id) {
-  //         main.dispatch(
-  //           main.state.tr.deleteRange(getPos(), getPos() + sinlgeNode.nodeSize),
-  //         );
-  //       }
-  //     });
-  //   } else {
-  //     main.dispatch(
-  //       main.state.tr.setSelection(
-  //         NodeSelection.create(main.state.doc, answersCount.parentPosition),
-  //       ),
-  //     );
-  //     main.dispatch(main.state.tr.deleteSelection());
-  //   }
-  // };
-
   const removeOption = () => {
     const answersCount = findAnswerCount();
     if (answersCount.count >= 1) {
-      answersCount.parentContainer.content.content.forEach(sinlgeNode => {
+      main.state.doc.nodesBetween(getPos(), getPos() + 1, (sinlgeNode, pos) => {
         if (sinlgeNode.attrs.id === node.attrs.id) {
           main.dispatch(
             main.state.tr.deleteRange(getPos(), getPos() + sinlgeNode.nodeSize),
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseQuestionService/TrueFalseQuestionService.js b/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseQuestionService/TrueFalseQuestionService.js
index c90abf2b7..ff8e436cc 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseQuestionService/TrueFalseQuestionService.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseQuestionService/TrueFalseQuestionService.js
@@ -28,11 +28,11 @@ class TrueFalseQuestionService extends Service {
       question_node_true_false: questionTrueFalseNode,
     });
 
-    addPortal({
-      nodeView: TrueFalseContainerNodeView,
-      component: MultipleChoiceContainerComponent,
-      context: this.app,
-    });
+    // addPortal({
+    //   nodeView: TrueFalseContainerNodeView,
+    //   component: MultipleChoiceContainerComponent,
+    //   context: this.app,
+    // });
 
     addPortal({
       nodeView: QuestionTrueFalseNodeView,
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseQuestionService/components/AnswerComponent.js b/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseQuestionService/components/AnswerComponent.js
index 160b67ab3..8c7af5e73 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseQuestionService/components/AnswerComponent.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseQuestionService/components/AnswerComponent.js
@@ -131,30 +131,10 @@ export default ({ node, view, getPos }) => {
     };
   }, []);
 
-  // const removeOption = () => {
-  //   const answersCount = findAnswerCount();
-  //   if (answersCount.count >= 1) {
-  //     main.state.doc.nodesBetween(getPos(), getPos() + 1, (sinlgeNode, pos) => {
-  //       if (sinlgeNode.attrs.id === node.attrs.id) {
-  //         main.dispatch(
-  //           main.state.tr.deleteRange(getPos(), getPos() + sinlgeNode.nodeSize),
-  //         );
-  //       }
-  //     });
-  //   } else {
-  //     main.dispatch(
-  //       main.state.tr.setSelection(
-  //         NodeSelection.create(main.state.doc, answersCount.parentPosition),
-  //       ),
-  //     );
-  //     main.dispatch(main.state.tr.deleteSelection());
-  //   }
-  // };
-
   const removeOption = () => {
     const answersCount = findAnswerCount();
     if (answersCount.count >= 1) {
-      answersCount.parentContainer.content.content.forEach(sinlgeNode => {
+      main.state.doc.nodesBetween(getPos(), getPos() + 1, (sinlgeNode, pos) => {
         if (sinlgeNode.attrs.id === node.attrs.id) {
           main.dispatch(
             main.state.tr.deleteRange(getPos(), getPos() + sinlgeNode.nodeSize),
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService.js b/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService.js
index 12eaf6789..d042f2b90 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService.js
@@ -30,11 +30,11 @@ class TrueFalseSingleCorrectQuestionService extends Service {
       true_false_single_correct: trueFalseSingleCorrectNode,
     });
 
-    addPortal({
-      nodeView: TrueFalseSingleCorrectContainerNodeView,
-      component: MultipleChoiceContainerComponent,
-      context: this.app,
-    });
+    // addPortal({
+    //   nodeView: TrueFalseSingleCorrectContainerNodeView,
+    //   component: MultipleChoiceContainerComponent,
+    //   context: this.app,
+    // });
 
     addPortal({
       nodeView: QuestionTrueFalseSingleNodeView,
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/components/AnswerComponent.js b/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/components/AnswerComponent.js
index 08a653559..818aca43e 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/components/AnswerComponent.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/components/AnswerComponent.js
@@ -131,30 +131,10 @@ export default ({ node, view, getPos }) => {
     };
   }, []);
 
-  // const removeOption = () => {
-  //   const answersCount = findAnswerCount();
-  //   if (answersCount.count >= 1) {
-  //     main.state.doc.nodesBetween(getPos(), getPos() + 1, (sinlgeNode, pos) => {
-  //       if (sinlgeNode.attrs.id === node.attrs.id) {
-  //         main.dispatch(
-  //           main.state.tr.deleteRange(getPos(), getPos() + sinlgeNode.nodeSize),
-  //         );
-  //       }
-  //     });
-  //   } else {
-  //     main.dispatch(
-  //       main.state.tr.setSelection(
-  //         NodeSelection.create(main.state.doc, answersCount.parentPosition),
-  //       ),
-  //     );
-  //     main.dispatch(main.state.tr.deleteSelection());
-  //   }
-  // };
-
   const removeOption = () => {
     const answersCount = findAnswerCount();
     if (answersCount.count >= 1) {
-      answersCount.parentContainer.content.content.forEach(sinlgeNode => {
+      main.state.doc.nodesBetween(getPos(), getPos() + 1, (sinlgeNode, pos) => {
         if (sinlgeNode.attrs.id === node.attrs.id) {
           main.dispatch(
             main.state.tr.deleteRange(getPos(), getPos() + sinlgeNode.nodeSize),
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/components/AnswerComponent.js b/wax-questions-service/src/MultipleChoiceQuestionService/components/AnswerComponent.js
index 1110f5481..46b205872 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/components/AnswerComponent.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/components/AnswerComponent.js
@@ -130,30 +130,10 @@ export default ({ node, view, getPos }) => {
     };
   }, []);
 
-  // const removeOption = () => {
-  //   const answersCount = findAnswerCount();
-  //   if (answersCount.count >= 1) {
-  //     main.state.doc.nodesBetween(getPos(), getPos() + 1, sinlgeNode => {
-  //       if (sinlgeNode.attrs.id === node.attrs.id) {
-  //         main.dispatch(
-  //           main.state.tr.deleteRange(getPos(), getPos() + sinlgeNode.nodeSize),
-  //         );
-  //       }
-  //     });
-  //   } else {
-  //     main.dispatch(
-  //       main.state.tr.setSelection(
-  //         NodeSelection.create(main.state.doc, answersCount.parentPosition),
-  //       ),
-  //     );
-  //     main.dispatch(main.state.tr.deleteSelection());
-  //   }
-  // };
-
   const removeOption = () => {
     const answersCount = findAnswerCount();
     if (answersCount.count >= 1) {
-      answersCount.parentContainer.content.content.forEach(sinlgeNode => {
+      main.state.doc.nodesBetween(getPos(), getPos() + 1, sinlgeNode => {
         if (sinlgeNode.attrs.id === node.attrs.id) {
           main.dispatch(
             main.state.tr.deleteRange(getPos(), getPos() + sinlgeNode.nodeSize),
@@ -170,6 +150,26 @@ export default ({ node, view, getPos }) => {
     }
   };
 
+  // const removeOption = () => {
+  //   const answersCount = findAnswerCount();
+  //   if (answersCount.count >= 1) {
+  //     answersCount.parentContainer.content.content.forEach(sinlgeNode => {
+  //       if (sinlgeNode.attrs.id === node.attrs.id) {
+  //         main.dispatch(
+  //           main.state.tr.deleteRange(getPos(), getPos() + sinlgeNode.nodeSize),
+  //         );
+  //       }
+  //     });
+  //   } else {
+  //     main.dispatch(
+  //       main.state.tr.setSelection(
+  //         NodeSelection.create(main.state.doc, answersCount.parentPosition),
+  //       ),
+  //     );
+  //     main.dispatch(main.state.tr.deleteSelection());
+  //   }
+  // };
+
   const addOption = nodeId => {
     const newAnswerId = uuidv4();
     main.state.doc.descendants((editorNode, index) => {
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/components/EditorComponent.js b/wax-questions-service/src/MultipleChoiceQuestionService/components/EditorComponent.js
index 421f4aec8..e9de0a2d4 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/components/EditorComponent.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/components/EditorComponent.js
@@ -69,6 +69,7 @@ const QuestionEditorComponent = ({
   placeholderText = 'Type your item',
   QuestionType = 'Multiple',
   forceEditable = false,
+  showDelete = false,
 }) => {
   const editorRef = useRef();
 
@@ -212,9 +213,11 @@ const QuestionEditorComponent = ({
     const addToHistory = !tr.getMeta('exludeToHistoryFromOutside');
     const { state, transactions } = questionView.state.applyTransaction(tr);
     questionView.updateState(state);
-    setTimeout(() => {
-      context.updateView({}, questionId);
-    });
+    context.updateView({}, questionId);
+
+    // setTimeout(() => {
+    //   context.updateView({}, questionId);
+    // });
 
     if (!tr.getMeta('fromOutside')) {
       const outerTr = view.state.tr;
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/components/QuestionComponent.js b/wax-questions-service/src/MultipleChoiceQuestionService/components/QuestionComponent.js
index 0f5e0f303..2d4338660 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/components/QuestionComponent.js
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/components/QuestionComponent.js
@@ -2,5 +2,5 @@ import React from 'react';
 import EditorComponent from './EditorComponent';
 
 export default ({ node, view, getPos }) => {
-  return <EditorComponent getPos={getPos} node={node} view={view} />;
+  return <EditorComponent getPos={getPos} node={node} showDelete view={view} />;
 };
diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/multipleQuestionStyles.css b/wax-questions-service/src/MultipleChoiceQuestionService/multipleQuestionStyles.css
index 4fa9fb666..2e322bc92 100644
--- a/wax-questions-service/src/MultipleChoiceQuestionService/multipleQuestionStyles.css
+++ b/wax-questions-service/src/MultipleChoiceQuestionService/multipleQuestionStyles.css
@@ -4,11 +4,12 @@
 .multiple-choice-single-correct,
 .true-false,
 .true-false-single-correct {
-  /* border: 3px solid #f5f5f7;
-  padding: 20px; */
+  border: 3px solid #f5f5f7;
+  padding: 20px;
+  margin: 38px;	
+  /* margin: 12px 2px 12px 12px; */
+  /* padding-top: 0px; */
   counter-reset: question-item-multiple;
-  margin: 12px 2px 12px 12px;
-  padding-top: 0px;
 }
 
 .multiple-choice:before,
-- 
GitLab