From 3adb8ffbad7dfe9b45a7770df8c7fc27ad042d94 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Tue, 17 May 2022 08:53:44 +0300
Subject: [PATCH] lists schema fix

---
 .../src/ListsService/BulletListService/BulletList.js          | 4 ++++
 .../src/ListsService/OrderedListService/OrderedList.js        | 3 +++
 .../schema/questionSingleNode.js                              | 2 +-
 .../TrueFalseQuestionService/schema/questionTrueFalseNode.js  | 2 +-
 .../schema/questionTrueFalseSingleNode.js                     | 2 +-
 .../src/MultipleChoiceQuestionService/schema/questionNode.js  | 2 +-
 .../schema/multipleDropDownContainerNode.js                   | 2 +-
 7 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
index 463380b6b..335b8347c 100644
--- a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
+++ b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
@@ -29,6 +29,9 @@ export default class BulletList extends Tools {
     } = state;
     let status = true;
 
+    if (!wrapInList(state.config.schema.nodes.bulletlist)(activeView.state))
+      status = false;
+
     if ('subList' in this.config && !this.config.subList) {
       state.doc.nodesBetween(from, to, node => {
         if (node.type.name === 'list_item') status = false;
@@ -38,6 +41,7 @@ export default class BulletList extends Tools {
     if (from === null) return false;
     const { disallowedTools } = activeView.props;
     if (disallowedTools.includes('Lists')) status = false;
+
     return status;
   };
 
diff --git a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
index f6e5b4f29..44c7caac0 100644
--- a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
+++ b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
@@ -27,6 +27,9 @@ export default class OrderedList extends Tools {
     } = state;
     let status = true;
 
+    if (!wrapInList(state.config.schema.nodes.bulletlist)(activeView.state))
+      status = false;
+
     if ('subList' in this.config && !this.config.subList) {
       state.doc.nodesBetween(from, to, node => {
         if (node.type.name === 'list_item') status = false;
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/questionSingleNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/questionSingleNode.js
index dc9dc917d..92912ce68 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/questionSingleNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/questionSingleNode.js
@@ -4,7 +4,7 @@ const questionSingleNode = {
     class: { default: 'multiple-choice-question-single' },
   },
   group: 'block questions',
-  content: 'block*',
+  content: 'paragraph* bulletlist* orderedlist*',
   defining: true,
 
   // atom: true,
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/questionTrueFalseNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/questionTrueFalseNode.js
index 46a41394a..992f9625f 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/questionTrueFalseNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/schema/questionTrueFalseNode.js
@@ -4,7 +4,7 @@ const questionTrueFalseNode = {
     class: { default: 'true-false-question' },
   },
   group: 'block questions',
-  content: 'block*',
+  content: 'paragraph* bulletlist* orderedlist*',
   defining: true,
 
   // atom: true,
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/questionTrueFalseSingleNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/questionTrueFalseSingleNode.js
index f3385105c..f4c150366 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/questionTrueFalseSingleNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/schema/questionTrueFalseSingleNode.js
@@ -4,7 +4,7 @@ const questionTrueFalseNode = {
     class: { default: 'true-false-question-single' },
   },
   group: 'block questions',
-  content: 'block*',
+  content: 'paragraph* bulletlist* orderedlist*',
   defining: true,
 
   // atom: true,
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/questionNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/questionNode.js
index fa591559f..99012468f 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/questionNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/questionNode.js
@@ -4,7 +4,7 @@ const questionNode = {
     id: { default: '' },
   },
   group: 'block questions',
-  content: 'block*',
+  content: 'paragraph* bulletlist* orderedlist*',
   defining: true,
 
   parseDOM: [
diff --git a/wax-prosemirror-services/src/MultipleDropDownService/schema/multipleDropDownContainerNode.js b/wax-prosemirror-services/src/MultipleDropDownService/schema/multipleDropDownContainerNode.js
index 88a2cc650..013ff9279 100644
--- a/wax-prosemirror-services/src/MultipleDropDownService/schema/multipleDropDownContainerNode.js
+++ b/wax-prosemirror-services/src/MultipleDropDownService/schema/multipleDropDownContainerNode.js
@@ -9,7 +9,7 @@ const multipleDropDownContainerNode = {
   selectable: false,
   draggable: false,
   defining: true,
-  content: 'block*',
+  content: 'paragraph* bulletlist* orderedlist*',
   parseDOM: [
     {
       tag: 'div.multiple-drop-down-container',
-- 
GitLab