From 7328d345da50374e730413dbde93bfdb38d16e9d Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Sat, 13 Feb 2021 00:34:58 +0200
Subject: [PATCH] block importer

---
 editors/editoria/src/Editoria.js                     |  5 ++++-
 editors/editoria/src/layout/EditorElements.js        |  6 +++---
 wax-prosemirror-schema/src/nodes/customBlockNode.js  | 12 +++++++++---
 .../CustomTagBlockService/CustomTagBlockService.js   |  9 ++++++---
 4 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/editors/editoria/src/Editoria.js b/editors/editoria/src/Editoria.js
index 33d5439b3..276ba73cd 100644
--- a/editors/editoria/src/Editoria.js
+++ b/editors/editoria/src/Editoria.js
@@ -62,7 +62,10 @@ const Editoria = () => {
           autoFocus
           placeholder="Type Something..."
           fileUpload={file => renderImage(file)}
-          value={demo}
+          value={
+            '<p>hello</p><p class="custom-tag-label-3" data-type="block">Lorem ipsum dolor si</p>'
+          }
+          // value={demo}
           // readonly
           layout={layout}
           // onChange={source => console.log(source)}
diff --git a/editors/editoria/src/layout/EditorElements.js b/editors/editoria/src/layout/EditorElements.js
index 7322e4916..7b12c286d 100644
--- a/editors/editoria/src/layout/EditorElements.js
+++ b/editors/editoria/src/layout/EditorElements.js
@@ -412,19 +412,19 @@ export default css`
     font-weight: 600;
   }
 
-  custom-tag-block {
+  p[data-type='block'] {
     display: block;
     margin-top: 1em;
   }
 
-  custom-tag-block:before {
+  p[data-type='block']:before {
     color: #006f19;
     content: '|';
     display: inline;
     font-weight: 600;
   }
 
-  custom-tag-block:after {
+  p[data-type='block']:after {
     color: #006f19;
     content: '|';
     display: inline;
diff --git a/wax-prosemirror-schema/src/nodes/customBlockNode.js b/wax-prosemirror-schema/src/nodes/customBlockNode.js
index 86d3bc95d..076af0ef7 100644
--- a/wax-prosemirror-schema/src/nodes/customBlockNode.js
+++ b/wax-prosemirror-schema/src/nodes/customBlockNode.js
@@ -5,21 +5,27 @@ const customBlockNode = {
   defining: true,
   attrs: {
     class: { default: '' },
+    type: { default: 'block' },
   },
   parseDOM: [
     {
-      tag: 'custom-tag-block',
+      tag: 'p[data-type="block"]',
       getAttrs(hook, next) {
         Object.assign(hook, {
           class: hook.dom.getAttribute('class'),
+          type: hook.dom.dataset.type,
         });
         next();
       },
     },
   ],
   toDOM(hook, next) {
-    const attrs = { class: hook.attrs.class };
-    return (hook.value = ['custom-tag-block', attrs, 0]);
+    const attrs = {
+      class: hook.node.attrs.class,
+      'data-type': hook.node.attrs.type,
+    };
+    hook.value = ['p', attrs, 0];
+    next();
   },
 };
 
diff --git a/wax-prosemirror-services/src/CustomTagService/CustomTagBlockService/CustomTagBlockService.js b/wax-prosemirror-services/src/CustomTagService/CustomTagBlockService/CustomTagBlockService.js
index a867b59b8..e4792a3e2 100644
--- a/wax-prosemirror-services/src/CustomTagService/CustomTagBlockService/CustomTagBlockService.js
+++ b/wax-prosemirror-services/src/CustomTagService/CustomTagBlockService/CustomTagBlockService.js
@@ -6,9 +6,12 @@ class CustomTagBlockService extends Service {
   register() {
     this.container.bind('CustomTagBlockTool').to(CustomTagBlockTool);
     const createNode = this.container.get('CreateNode');
-    createNode({
-      customTagBlock: customBlockNode,
-    });
+    createNode(
+      {
+        customTagBlock: customBlockNode,
+      },
+      { toWaxSchema: true },
+    );
   }
 }
 
-- 
GitLab