From dab3e54e9a1e29ba02c2bd5451aee51a960fd3f7 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Mon, 5 Apr 2021 12:38:53 +0300
Subject: [PATCH] use setBlockType

---
 editors/demo/src/HHMI/HHMI.js                 |  9 ++++-
 .../MultipleChoiceQuestion.js                 |  4 +-
 .../schema/multipleChoiceNode.js              | 40 +++++++++----------
 wax-prosemirror-core/src/WaxView.js           |  4 +-
 4 files changed, 32 insertions(+), 25 deletions(-)

diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js
index f9e2283ca..861d1a468 100644
--- a/editors/demo/src/HHMI/HHMI.js
+++ b/editors/demo/src/HHMI/HHMI.js
@@ -25,7 +25,14 @@ const Hhmi = () => {
         fileUpload={file => renderImage(file)}
         value=""
         targetFormat="JSON"
-        nodeViews={[{ multiple_choice: { component: TestComponent } }]}
+        nodeViews={[
+          {
+            multiple_choice: {
+              node: 'multiple_choice',
+              component: TestComponent,
+            },
+          },
+        ]}
         // readonly
         layout={HhmiLayout}
         // onChange={source => console.log(source)}
diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
index e921c333d..a363e1c99 100644
--- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
+++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
@@ -1,6 +1,6 @@
 import { injectable } from 'inversify';
 import { Tools } from 'wax-prosemirror-services';
-import { wrapIn } from 'prosemirror-commands';
+import { setBlockType } from 'prosemirror-commands';
 
 @injectable()
 class MultipleChoiceQuestion extends Tools {
@@ -10,7 +10,7 @@ class MultipleChoiceQuestion extends Tools {
 
   get run() {
     return (state, dispatch) => {
-      wrapIn(state.config.schema.nodes.multiple_choice)(state, dispatch);
+      setBlockType(state.config.schema.nodes.multiple_choice)(state, dispatch);
     };
   }
 
diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceNode.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceNode.js
index da9539965..aa55a4628 100644
--- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceNode.js
+++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceNode.js
@@ -1,24 +1,24 @@
-// const multipleChoiceNode = {
-//   group: 'block multiple',
-//   content: 'text*',
-//   atom: true,
-//   code: true,
-//   toDOM: () => ['multiple-choice', { class: 'multiple-choice' }, 0],
-//   parseDOM: [
-//     {
-//       tag: 'multiple-choice',
-//     },
-//   ],
-// };
-
 const multipleChoiceNode = {
-  content: 'block+',
-  group: 'block',
-  defining: true,
-  parseDOM: [{ tag: 'multiple-choice' }],
-  toDOM() {
-    return ['multiple-choice', 0];
-  },
+  group: 'block multiple',
+  content: 'text*',
+  atom: true,
+  code: true,
+  toDOM: () => ['multiple-choice', { class: 'multiple-choice' }, 0],
+  parseDOM: [
+    {
+      tag: 'multiple-choice',
+    },
+  ],
 };
 
+// const multipleChoiceNode = {
+//   content: 'block+',
+//   group: 'block',
+//   defining: true,
+//   //   parseDOM: [{ tag: 'multiple-choice' }],
+//   toDOM() {
+//     // return ['multiple-choice', 0];
+//   },
+// };
+
 export default multipleChoiceNode;
diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index f12d4c69a..1cb8c2e9d 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -85,9 +85,9 @@ export default props => {
   );
 
   const createNodeVies = () => {
-    const test = nodeViews.map((nodeView, key) => {
+    const test = nodeViews.map((nodeView, key, index) => {
       return {
-        multiple_choice(node, view, getPos, decorations) {
+        [nodeView.multiple_choice.node](node, view, getPos, decorations) {
           console.log('rerenders for ever');
           return createReactNodeView({
             node,
-- 
GitLab