From 9532614abd0add40c28c65fe4fdd54929b38b39a Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Fri, 16 Apr 2021 12:53:00 +0300
Subject: [PATCH] rebase into current master

---
 editors/demo/src/Editors.js         |  2 +-
 wax-prosemirror-core/src/WaxView.js | 23 +++++++----------------
 2 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/editors/demo/src/Editors.js b/editors/demo/src/Editors.js
index 774b1d788..dac341434 100644
--- a/editors/demo/src/Editors.js
+++ b/editors/demo/src/Editors.js
@@ -48,7 +48,7 @@ const Editors = () => {
       case 'ncbi':
         break;
       default:
-        return <HHMI />;
+        return <Editoria />;
     }
   };
 
diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index 881606bc8..7b417d092 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -18,20 +18,9 @@ import { PortalContext } from './PortalContext';
 import transformPasted from './helpers/TransformPasted';
 import WaxOptions from './WaxOptions';
 
-let previousDoc;
-
-export default props => {
-  const {
-    readonly,
-    onBlur,
-    options,
-    debug,
-    autoFocus,
-    user,
-    targetFormat,
-    nodeViews,
-  } = props;
+const WaxPortals = ComponentPlugin('waxPortals');
 
+let previousDoc;
 let view;
 export default props => {
   const { readonly, onBlur, debug, autoFocus, user, targetFormat } = props;
@@ -131,11 +120,13 @@ export default props => {
         'main',
       );
     }
-
     if (targetFormat === 'JSON') {
-      props.onChange(schema)(state.doc.toJSON());
+      if (view.state.doc !== previousDoc || tr.getMeta('forceUpdate'))
+        props.onChange(schema)(state.doc.toJSON());
     } else {
-      props.onChange(schema)(state.doc.content);
+      // eslint-disable-next-line no-lonely-if
+      if (view.state.doc !== previousDoc || tr.getMeta('forceUpdate'))
+        props.onChange(schema)(state.doc.content);
     }
   };
 
-- 
GitLab