From 2685b02bb8f893d7d6e7f5da5b7adbf1baf7f887 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Fri, 7 Aug 2020 20:24:30 +0300
Subject: [PATCH] accept block changes

---
 .../AcceptTrackChange.js                      | 31 +++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
index ecde18b5b..3c4d0b494 100644
--- a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
+++ b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
@@ -33,6 +33,19 @@ class AcceptTrackChange extends Tools {
           );
           tr.step(deletionStep);
           map.appendMap(deletionStep.getMap());
+        } else if (
+          node.attrs.track &&
+          node.attrs.track.find(track => track.type === 'insertion')
+        ) {
+          const track = node.attrs.track.filter(
+            track => track.type !== 'insertion',
+          );
+          tr.setNodeMarkup(
+            map.map(pos),
+            null,
+            Object.assign(node.attrs.track, { track }),
+            node.marks,
+          );
         } else if (
           node.marks &&
           node.marks.find(mark => mark.type.name === 'insertion')
@@ -61,6 +74,24 @@ class AcceptTrackChange extends Tools {
               formatChangeMark,
             ),
           );
+        } else if (
+          node.attrs.track &&
+          node.attrs.track.find(track => track.type === 'block_change')
+        ) {
+          const blockChangeTrack = node.attrs.track.find(
+            track => track.type === 'block_change',
+          );
+
+          const track = node.attrs.track.filter(
+            track => track !== blockChangeTrack,
+          );
+
+          tr.setNodeMarkup(
+            map.map(pos),
+            null,
+            Object.assign(node.attrs.track, { track }),
+            node.marks,
+          );
         }
       });
       if (tr.steps.length) dispatch(tr);
-- 
GitLab