From 46d002944e3ee03dc5e4ad063678d20f51c1eebb Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Thu, 6 Aug 2020 18:29:16 +0300
Subject: [PATCH] accept all insertions in selection

---
 .../AcceptTrackChange.js                      | 24 ++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
index b32d56a15..7afad204f 100644
--- a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
+++ b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
@@ -8,7 +8,29 @@ class AcceptTrackChange extends Tools {
   content = 'Accept';
 
   get run() {
-    return (state, dispatch) => {};
+    return (state, dispatch) => {
+      const {
+        selection: { from, to },
+      } = state;
+
+      state.doc.nodesBetween(from, to, (node, pos) => {
+        if (
+          node.marks &&
+          node.marks.find(mark => mark.type.name === 'insertion')
+        ) {
+          const insertionMark = node.marks.find(
+            mark => mark.type.name === 'insertion',
+          );
+          dispatch(
+            state.tr.removeMark(
+              insertionMark.pos,
+              insertionMark.pos + node.nodeSize,
+              state.schema.marks.insertion,
+            ),
+          );
+        }
+      });
+    };
   }
 
   get active() {
-- 
GitLab