From 449d8102502ca5404e4effa65d4059a599b3492a Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Mon, 11 Jan 2021 18:42:38 +0200 Subject: [PATCH] feat(layout): comment/track counter --- editors/editoria/src/layout/EditoriaLayout.js | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/editors/editoria/src/layout/EditoriaLayout.js b/editors/editoria/src/layout/EditoriaLayout.js index 674bee914..c845fe9ca 100644 --- a/editors/editoria/src/layout/EditoriaLayout.js +++ b/editors/editoria/src/layout/EditoriaLayout.js @@ -186,6 +186,27 @@ const getNotes = main => { return notes; }; +const getCommentsTracks = main => { + const marks = DocumentHelpers.findInlineNodes(main.state.doc); + const commentsTracks = []; + marks.map(node => { + if (node.node.marks.length > 0) { + node.node.marks.filter(mark => { + if ( + mark.type.name === 'comment' || + mark.type.name === 'insertion' || + mark.type.name === 'deletion' || + mark.type.name === 'format_change' + ) { + mark.pos = node.pos; + commentsTracks.push(mark); + } + }); + } + }); + return commentsTracks; +}; + const LeftSideBar = ComponentPlugin('leftSideBar'); const MainMenuToolBar = ComponentPlugin('mainMenuToolBar'); const NotesArea = ComponentPlugin('notesArea'); @@ -215,8 +236,9 @@ const EditoriaLayout = ({ editor }) => { zIndex: '99999', }; } - const notes = main && getNotes(main); + const commentsTracks = main && getCommentsTracks(main).length; + console.log('comments', commentsTracks); const areNotes = notes && !!notes.length && notes.length > 0; const [hasNotes, setHasNotes] = useState(areNotes); @@ -258,7 +280,7 @@ const EditoriaLayout = ({ editor }) => { <CommentsContainer> <CommentTrackTools> <span> - 58 COMMENTS AND SUGGESTIONS + {commentsTracks} COMMENTS AND SUGGESTIONS <CommentTrackToolBar /> </span> </CommentTrackTools> -- GitLab