From 33f1bf9cbfc8fb62d799dc4be32f93b150a9149b Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Tue, 13 Feb 2024 17:49:28 +0200
Subject: [PATCH] remove deco

---
 wax-prosemirror-core/src/WaxView.js                          | 2 +-
 .../src/utilities/track-changes/helpers/markInsertion.js     | 4 ----
 .../src/utilities/track-changes/trackedTransaction.js        | 5 ++++-
 .../src/ImageService/plugins/placeHolderPlugin.js            | 5 +++++
 4 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index 5b0112f67..c877bb0ba 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -116,7 +116,7 @@ const WaxView = forwardRef((props, ref) => {
     const { TrackChange } = props;
     const tr =
       TrackChange && TrackChange.enabled
-        ? trackedTransaction(transaction, view.state, user)
+        ? trackedTransaction(transaction, view.state, user, context)
         : transaction;
 
     previousDoc = view.state.doc;
diff --git a/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js
index 28d561edc..d66ad1ae3 100644
--- a/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js
+++ b/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js
@@ -54,10 +54,6 @@ const markInsertion = (tr, from, to, user, date, group, viewId) => {
       // A table was inserted. We don't add track marks to elements inside of it.
       return false;
     }
-    if (node.type.name === 'figure') {
-      console.log('remove placeholder');
-      // TODO delete placeholder
-    }
   });
 };
 
diff --git a/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js b/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js
index f9e78d7bd..ea07ab538 100644
--- a/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js
+++ b/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js
@@ -17,6 +17,7 @@ const trackedTransaction = (
   tr,
   state,
   user,
+  context,
   group = 'main',
   viewId = 'main',
 ) => {
@@ -180,7 +181,9 @@ const trackedTransaction = (
 
   if (tr.scrolledIntoView) newTr.scrollIntoView();
 
-  return newTr;
+  console.log(tr.meta);
+  const imagePlaceholder = context.app.PmPlugins.get('imagePlaceHolder');
+  return newTr.setMeta(imagePlaceholder, { remove: { id: {} } });
 };
 
 export default trackedTransaction;
diff --git a/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js b/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js
index 4675706e7..4f7df9b72 100644
--- a/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js
+++ b/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js
@@ -24,6 +24,11 @@ export default key =>
           set = set.remove(
             set.find(null, null, spec => spec.id === action.remove.id),
           );
+          // HACK to fix
+          if (set?.find().length >= 1) {
+            set = set.remove(set.find()[0]);
+            set.children = [];
+          }
         }
         return set;
       },
-- 
GitLab