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