diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js index 388f5e2e3f76c4ef9f6633de51f8ebb1bf86296a..2eecfebdb27c0ba055b8eb3dee23fc9b8a67bda6 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) {