diff --git a/querybook/webapp/components/DataDocLeftSidebar/DataDocLeftSidebar.tsx b/querybook/webapp/components/DataDocLeftSidebar/DataDocLeftSidebar.tsx index 79b64d287..90cbd1c4d 100644 --- a/querybook/webapp/components/DataDocLeftSidebar/DataDocLeftSidebar.tsx +++ b/querybook/webapp/components/DataDocLeftSidebar/DataDocLeftSidebar.tsx @@ -1,6 +1,6 @@ import clsx from 'clsx'; import Resizable from 're-resizable'; -import React, { useCallback, useEffect } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { DataTableViewMini } from 'components/DataTableViewMini/DataTableViewMini'; @@ -39,7 +39,7 @@ export const DataDocLeftSidebar: React.FunctionComponent = ({ const clearSidebarTableId = () => dispatch(setSidebarTableId(null)); const [contentState, setContentState] = - React.useState('default'); + useState('default'); useEvent( 'keydown', @@ -64,6 +64,7 @@ export const DataDocLeftSidebar: React.FunctionComponent = ({ }, [] ); + useEffect(() => { if (sidebarTableId != null) { setContentState('table'); @@ -76,39 +77,33 @@ export const DataDocLeftSidebar: React.FunctionComponent = ({ const resizeToCollapseSidebar = useResizeToCollapseSidebar( DEFAULT_SIDEBAR_WIDTH, 1 / 3, - React.useCallback(() => setContentState('default'), []) + React.useCallback(() => { + clearSidebarTableId(); + setContentState('default'); + }, []) ); let contentDOM: React.ReactChild; if (contentState === 'contents') { contentDOM = ( - -
- - setContentState('default')} - /> -
- - contents ({TOGGLE_TOC_SHORTCUT}) - - - Click to jump to the corresponding cell. Drag - cells to reorder them. - -
-
- -
-
+
+ + setContentState('default')} + /> +
+ + contents ({TOGGLE_TOC_SHORTCUT}) + + + Click to jump to the corresponding cell. Drag cells + to reorder them. + +
+
+ +
); } else if (contentState === 'table') { contentDOM = ( @@ -143,7 +138,18 @@ export const DataDocLeftSidebar: React.FunctionComponent = ({ hidden: cells.length === 0, })} > - {contentDOM} + {contentState === 'default' ? ( + <> {contentDOM} + ) : ( + + {contentDOM} + + )} ); };