Merge pull request #14046 from overleaf/td-review-panel-scrolled-down-layout

React review panel: fix bug that prevented entries appearing when editor starts off scrolled down

GitOrigin-RevId: 61c5b5523e82cf5334c4de30d6849f45d5bc321a
This commit is contained in:
Tim Down
2023-07-27 10:54:09 +01:00
committed by Copybot
parent ab6ce285ac
commit 7a685a0207
3 changed files with 20 additions and 2 deletions

View File

@@ -204,17 +204,32 @@ function PositionedEntries({
}
}
// Calculate positions for all visible entries
// Calculate positions for all visible entries, starting by calculating the
// entry to put in its desired position and anchor everything else around.
// If there is an explicitly focused entry, use that.
let focusedEntryIndex = entryViews.findIndex(view => view.entry.focused)
if (focusedEntryIndex === -1) {
// There is no explicitly focused entry, so use the focused entry from the
// previous layout. This will be the first entry in the list if there was
// no previous layout.
focusedEntryIndex = Math.min(
previousLayoutInfoRef.current.focusedEntryIndex,
entryViews.length - 1
)
// If the entry from the previous layout is not visible, fall back to the
// first visible entry in the list
if (!entryViews[focusedEntryIndex].visible) {
focusedEntryIndex = entryViews.findIndex(view => view.visible)
}
}
// If there is no visible entry, bail out
if (focusedEntryIndex === -1) {
return
}
const focusedEntryView = entryViews[focusedEntryIndex]
if (!focusedEntryView.entry.screenPos) {
if (!focusedEntryView.visible) {
return
}

View File

@@ -88,6 +88,8 @@ export const createChangeManager = (
}
entry.screenPos = { y: y + offsetTop, height, editorPaddingTop }
} else {
entry.screenPos = null
}
if (allVisible) {

View File

@@ -1276,6 +1276,7 @@ button when (@is-overleaf-light = true) {
.rp-entry-list-react {
position: relative;
overflow-x: hidden;
}
.rp-state-current-file & {