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