From 08c0fe21ca7bbe796bafa10e4aa52991b4376837 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Sun, 9 Aug 2020 02:19:17 +0300
Subject: [PATCH] keep selection when changing format

---
 .../track-changes/trackedTransaction.js               | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
index 388f5e2e3..2eecfebdb 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
+++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
@@ -102,10 +102,13 @@ const trackedTransaction = (tr, state, user) => {
     const caretPos = map.map(tr.selection.from - 2, -1);
     newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos)));
   } else {
-    const caretPos = map.map(tr.selection.from, -1);
-    newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos)));
-    // const slice = map.slice(newTr.selection.from, newTr.selection.to);
-    // map.appendMap(slice);
+    if (state.selection.from === state.selection.to) {
+      const caretPos = map.map(tr.selection.from, -1);
+      newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos)));
+    } else {
+      const slice = map.slice(newTr.selection.from, newTr.selection.to);
+      map.appendMap(slice);
+    }
   }
 
   if (tr.storedMarksSet) {
-- 
GitLab