diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js index 7f593654d6c1311e1aba1cf8e96c7e209b44323d..035bbe3056e202cd4d5f6cddbd677392b30ab665 100644 --- a/wax-prosemirror-core/src/WaxView.js +++ b/wax-prosemirror-core/src/WaxView.js @@ -56,8 +56,9 @@ export default props => { const dispatchTransaction = transaction => { const { TrackChange } = props; + const group = "main"; const tr = TrackChange - ? trackedTransaction(transaction, view.state, user) + ? trackedTransaction(transaction, view.state, user, group) : transaction; const state = view.state.apply(tr); diff --git a/wax-prosemirror-schema/src/nodes/authorNode.js b/wax-prosemirror-schema/src/nodes/authorNode.js index aa38f1bbe13c481bbe43bec299ad59354c42495a..5b954aac40e5d511785831a1b592fd3cf4a7d982 100644 --- a/wax-prosemirror-schema/src/nodes/authorNode.js +++ b/wax-prosemirror-schema/src/nodes/authorNode.js @@ -20,7 +20,6 @@ const author = { toDOM(hook, next) { const attrs = { class: hook.node.attrs.class }; hook.value = ["p", attrs, 0]; - console.log(hook); next(); } }; diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/authorTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/authorTrackNode.js index 6cfb567f2ecb438468a88856ca9645f4eb7d8405..4ee38f0b2f9704e57b3f87b737a20ebebe37e09a 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/authorTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/authorTrackNode.js @@ -25,7 +25,6 @@ const author = { ], toDOM(hook, next) { if (hook.node.attrs.track.length) { - console.log(hook); Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, "data-track": JSON.stringify(hook.node.attrs.track), diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markWrapping.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markWrapping.js index 248cc97621204705d94cc1d47102c20fdcc1ccdf..08581b9b12d849989e6f910156bcff88ddb5c2b9 100644 --- a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markWrapping.js +++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markWrapping.js @@ -1,6 +1,6 @@ import { v4 as uuidv4 } from "uuid"; -const markWrapping = (tr, pos, oldNode, newNode, user, date) => { +const markWrapping = (tr, pos, oldNode, newNode, user, date, group) => { let track = oldNode.attrs.track.slice(), blockTrack = track.find(track => track.type === "block_change"); @@ -35,7 +35,11 @@ const markWrapping = (tr, pos, oldNode, newNode, user, date) => { } track.push(blockTrack); } - tr.setNodeMarkup(pos, null, Object.assign({}, newNode.attrs, { track })); + tr.setNodeMarkup( + pos, + null, + Object.assign({}, newNode.attrs, { track, group }) + ); }; export default markWrapping; diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js index fd4aca5161e7eca571b91f2cbb46fca259c7ea07..55902bc149f7471e0c138f4bff2bb8c301a3b34b 100644 --- a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js +++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js @@ -2,17 +2,29 @@ import markDeletion from "./markDeletion"; import markInsertion from "./markInsertion"; import markWrapping from "./markWrapping"; -const replaceAroundStep = (state, tr, step, newTr, map, doc, user, date) => { +const replaceAroundStep = ( + state, + tr, + step, + newTr, + map, + doc, + user, + date, + group +) => { if (step.from === step.gapFrom && step.to === step.gapTo) { // wrapped in something newTr.step(step); const from = step.getMap().map(step.from, -1); const to = step.getMap().map(step.gapFrom); - markInsertion(newTr, from, to, user, date); + markInsertion(newTr, from, to, user, date, group); } else if (!step.slice.size) { // unwrapped from something map.appendMap(step.invert(doc).getMap()); - map.appendMap(markDeletion(newTr, step.from, step.gapFrom, user, date)); + map.appendMap( + markDeletion(newTr, step.from, step.gapFrom, user, date, group) + ); } else if ( step.slice.size === 2 && step.gapFrom - step.from === 1 && @@ -28,7 +40,8 @@ const replaceAroundStep = (state, tr, step, newTr, map, doc, user, date) => { oldNode, step.slice.content.firstChild, user, - date + date, + group ); } } else { diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js index 2a6d21e98131d51f21eaa1973f8abed333044774..ac9e3f40c8e5f6b4e6677414d9ad06362270aacd 100644 --- a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js +++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js @@ -20,7 +20,7 @@ import replaceAroundStep from "./helpers/replaceAroundStep"; import addMarkStep from "./helpers/addMarkStep"; import removeMarkStep from "./helpers/removeMarkStep"; -const trackedTransaction = (tr, state, user) => { +const trackedTransaction = (tr, state, user, group) => { if ( !tr.steps.length || (tr.meta && @@ -45,16 +45,16 @@ const trackedTransaction = (tr, state, user) => { switch (step.constructor) { case ReplaceStep: - replaceStep(state, tr, step, newTr, map, doc, user, date); + replaceStep(state, tr, step, newTr, map, doc, user, date, group); break; case ReplaceAroundStep: - replaceAroundStep(state, tr, step, newTr, map, doc, user, date); + replaceAroundStep(state, tr, step, newTr, map, doc, user, date, group); break; case AddMarkStep: - addMarkStep(state, tr, step, newTr, map, doc, user, date); + addMarkStep(state, tr, step, newTr, map, doc, user, date, group); break; case RemoveMarkStep: - removeMarkStep(state, tr, step, newTr, map, doc, user, date); + removeMarkStep(state, tr, step, newTr, map, doc, user, date, group); break; } });