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