From b1794b21709349c393881682a1414ffa2367b325 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Wed, 6 Mar 2024 20:03:06 +0200
Subject: [PATCH] set active comment

---
 .../src/CommentsService/comments.css          |  2 +-
 .../components/ConnectedComment.js            |  3 +-
 .../CommentsService/components/RightArea.js   |  1 +
 .../CommentsService/plugins/CommentPlugin.js  | 31 +++++++++++--------
 4 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/wax-prosemirror-services/src/CommentsService/comments.css b/wax-prosemirror-services/src/CommentsService/comments.css
index 3f7045dfc..1cd4d219d 100644
--- a/wax-prosemirror-services/src/CommentsService/comments.css
+++ b/wax-prosemirror-services/src/CommentsService/comments.css
@@ -5,7 +5,7 @@
     border-radius: 3px 3px 0 0;
   }
 
-  span.comment .active-comment {
+.active-comment {
        background-color: gold;
       /* color: black; */
   }
\ No newline at end of file
diff --git a/wax-prosemirror-services/src/CommentsService/components/ConnectedComment.js b/wax-prosemirror-services/src/CommentsService/components/ConnectedComment.js
index 4ce07f55b..bf6176471 100644
--- a/wax-prosemirror-services/src/CommentsService/components/ConnectedComment.js
+++ b/wax-prosemirror-services/src/CommentsService/components/ConnectedComment.js
@@ -33,6 +33,7 @@ export default ({ comment, top, commentId, recalculateTops, users }) => {
     app,
     activeView,
     activeViewId,
+    options: { comments },
   } = context;
 
   const [isActive, setIsActive] = useState(false);
@@ -164,7 +165,7 @@ export default ({ comment, top, commentId, recalculateTops, users }) => {
     // }
     setTimeout(() => {
       if (conversation.length === 0 && !clickPost) {
-        onClickResolve();
+        // onClickResolve();
         activeView.focus();
       }
     }, 400);
diff --git a/wax-prosemirror-services/src/CommentsService/components/RightArea.js b/wax-prosemirror-services/src/CommentsService/components/RightArea.js
index fe6f5a473..5b498bb8b 100644
--- a/wax-prosemirror-services/src/CommentsService/components/RightArea.js
+++ b/wax-prosemirror-services/src/CommentsService/components/RightArea.js
@@ -52,6 +52,7 @@ export default ({ area, users }) => {
 
       let activeTrackChange = null;
       const activeComment = commentPlugin.getState(activeView.state).comment;
+
       if (trakChangePlugin)
         activeTrackChange = trakChangePlugin.getState(activeView.state)
           .trackChange;
diff --git a/wax-prosemirror-services/src/CommentsService/plugins/CommentPlugin.js b/wax-prosemirror-services/src/CommentsService/plugins/CommentPlugin.js
index 2102d57e1..6f086aeff 100644
--- a/wax-prosemirror-services/src/CommentsService/plugins/CommentPlugin.js
+++ b/wax-prosemirror-services/src/CommentsService/plugins/CommentPlugin.js
@@ -1,9 +1,7 @@
-/* eslint-disable */
-
-import { minBy, maxBy, last } from 'lodash';
+/* eslint-disable consistent-return */
+import { inRange, sortBy, last } from 'lodash';
 import { Plugin, PluginKey } from 'prosemirror-state';
 import { Decoration, DecorationSet } from 'prosemirror-view';
-import { DocumentHelpers } from 'wax-prosemirror-core';
 
 const commentPlugin = new PluginKey('commentPlugin');
 
@@ -12,18 +10,25 @@ const getComment = (state, context) => {
     options: { comments },
   } = context;
   if (!comments?.length) return;
-  console.log('sds', comments);
 
-  return {
-    from: comments[0].from,
-    to: comments[0].to,
-    attrs: comments[0].data,
-    id: comments[0].id,
-    // contained: commentOnSelection.contained,
-  };
+  let commentData = comments.filter(comment =>
+    inRange(state.selection.from, comment.from, comment.to),
+  );
+
+  commentData = sortBy(commentData, ['from']);
+
+  if (commentData.length > 0) {
+    return {
+      from: last(commentData).from,
+      to: last(commentData).to,
+      attrs: last(commentData).data,
+      id: last(commentData).id,
+      // contained: commentOnSelection.contained,
+    };
+  }
+  return {};
 };
 
-c;
 export default (key, context) => {
   return new Plugin({
     key: commentPlugin,
-- 
GitLab