From 9ba6a6a04219697073a0dc4c348da63e167a4f02 Mon Sep 17 00:00:00 2001 From: Alf Eaton Date: Thu, 10 Oct 2024 13:50:08 +0100 Subject: [PATCH] Update modified tracked changes in the React state (#20877) GitOrigin-RevId: d3b17908aa43d99b6e46550f2de77186f9d7b86d --- .../context/ranges-context.tsx | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/services/web/frontend/js/features/review-panel-new/context/ranges-context.tsx b/services/web/frontend/js/features/review-panel-new/context/ranges-context.tsx index 485f98b182..984b453176 100644 --- a/services/web/frontend/js/features/review-panel-new/context/ranges-context.tsx +++ b/services/web/frontend/js/features/review-panel-new/context/ranges-context.tsx @@ -32,13 +32,24 @@ type RangesActions = { } const buildRanges = (currentDoc: DocumentContainer | null) => { - if (currentDoc?.ranges) { - return { - ...currentDoc.ranges, - docId: currentDoc.doc_id, - total: - currentDoc.ranges.changes.length + currentDoc.ranges.comments.length, - } + const ranges = currentDoc?.ranges + + if (!ranges) { + return undefined + } + + const dirtyState = ranges.getDirtyState() + ranges.resetDirtyState() + + return { + changes: ranges.changes.map(change => + change.id in dirtyState.change ? { ...change } : change + ), + comments: ranges.comments.map(comment => + comment.id in dirtyState.comment ? { ...comment } : comment + ), + docId: currentDoc.doc_id, + total: ranges.changes.length + ranges.comments.length, } }