From 7a7f2bea1b7c966f192fb00a42e83e335a4bf6fc Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Mon, 22 Jun 2020 14:09:59 +0300
Subject: [PATCH] pass group to markWrapping

---
 wax-prosemirror-core/src/WaxView.js           |  3 ++-
 .../src/nodes/authorNode.js                   |  1 -
 .../trackChangesNodes/authorTrackNode.js      |  1 -
 .../track-changes/helpers/markWrapping.js     |  8 +++++--
 .../helpers/replaceAroundStep.js              | 21 +++++++++++++++----
 .../track-changes/trackedTransaction.js       | 10 ++++-----
 6 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index 7f593654d..035bbe305 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 aa38f1bbe..5b954aac4 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 6cfb567f2..4ee38f0b2 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 248cc9762..08581b9b1 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 fd4aca516..55902bc14 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 2a6d21e98..ac9e3f40c 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;
     }
   });
-- 
GitLab