Upgrade react-resizable-panels (#16321)

GitOrigin-RevId: 524257c441fc98ffc0e3da6f1e703ebdfbfbffb7
This commit is contained in:
Alf Eaton
2023-12-21 09:03:02 +00:00
committed by Copybot
parent 6c73a1d38a
commit e7dfd14986
4 changed files with 15 additions and 29 deletions
@@ -5,29 +5,15 @@ export default function useCollapsiblePanel(
panelIsOpen: boolean,
panelRef: RefObject<ImperativePanelHandle>
) {
// store the expanded height in localStorage when collapsing,
// so it can be restored when expanding after reloading the page
// collapse the panel when it is toggled closed (including on initial layout)
useEffect(() => {
const panelHandle = panelRef.current
if (panelHandle) {
const storageKey = `ide-panel.expanded-size.${panelHandle.getId()}`
if (!panelIsOpen) {
// collapsing, so store the current size if > 0
const size = panelHandle.getSize()
if (size > 0) {
localStorage.setItem(storageKey, String(size))
}
panelHandle.collapse()
if (panelIsOpen) {
panelHandle.expand()
} else {
const storedKey = localStorage.getItem(storageKey)
if (storedKey) {
panelHandle.resize(Number(storedKey))
} else {
panelHandle.expand()
}
panelHandle.collapse()
}
}
}, [panelIsOpen, panelRef])