diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js index 5b0112f67024db71843fa49319967ddac274f099..c877bb0ba5d75d5f73f6151badd82bf87fdf4e17 100644 --- a/wax-prosemirror-core/src/WaxView.js +++ b/wax-prosemirror-core/src/WaxView.js @@ -116,7 +116,7 @@ const WaxView = forwardRef((props, ref) => { const { TrackChange } = props; const tr = TrackChange && TrackChange.enabled - ? trackedTransaction(transaction, view.state, user) + ? trackedTransaction(transaction, view.state, user, context) : transaction; previousDoc = view.state.doc; diff --git a/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js index 28d561edcaa857770610063bb42ef6360773b2a0..d66ad1ae3732616d853af968fdcab78c5143f7d6 100644 --- a/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js +++ b/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js @@ -54,10 +54,6 @@ const markInsertion = (tr, from, to, user, date, group, viewId) => { // A table was inserted. We don't add track marks to elements inside of it. return false; } - if (node.type.name === 'figure') { - console.log('remove placeholder'); - // TODO delete placeholder - } }); }; diff --git a/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js b/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js index f9e78d7bd617f5850e8b660632b7e8b761a410f9..ea07ab5386ba30f227e7f3f38d14f135b757e542 100644 --- a/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js +++ b/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js @@ -17,6 +17,7 @@ const trackedTransaction = ( tr, state, user, + context, group = 'main', viewId = 'main', ) => { @@ -180,7 +181,9 @@ const trackedTransaction = ( if (tr.scrolledIntoView) newTr.scrollIntoView(); - return newTr; + console.log(tr.meta); + const imagePlaceholder = context.app.PmPlugins.get('imagePlaceHolder'); + return newTr.setMeta(imagePlaceholder, { remove: { id: {} } }); }; export default trackedTransaction; diff --git a/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js b/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js index 4675706e774454ee88f48f660ae954ebc2debfe0..4f7df9b727667e6625c5c1189ac5395675cd7de6 100644 --- a/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js +++ b/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js @@ -24,6 +24,11 @@ export default key => set = set.remove( set.find(null, null, spec => spec.id === action.remove.id), ); + // HACK to fix + if (set?.find().length >= 1) { + set = set.remove(set.find()[0]); + set.children = []; + } } return set; },