diff --git a/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx b/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx index f593b3f973..f50c081852 100644 --- a/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx +++ b/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx @@ -1,9 +1,12 @@ +import React from 'react'; + import type {Settings} from '@gravity-ui/react-data-table'; import {Flex, Tab, TabList, TabProvider, Text} from '@gravity-ui/uikit'; import {QueryResultTable} from '../../../../../../components/QueryResultTable'; import type {ParsedResultSet} from '../../../../../../types/store/query'; import {cn} from '../../../../../../utils/cn'; +import {useTypedSelector} from '../../../../../../utils/hooks'; import {QueryResultError} from '../QueryResultError/QueryResultError'; import './ResultSetsViewer.scss'; @@ -20,9 +23,20 @@ interface ResultSetsViewerProps { export function ResultSetsViewer(props: ResultSetsViewerProps) { const {selectedResultSet, setSelectedResultSet, resultSets, error} = props; + const isFullscreen = useTypedSelector((state) => state.fullscreen); + + const scrollRef = React.useRef(null); const currentResult = resultSets?.[selectedResultSet]; + React.useEffect(() => { + //this is needed to trigger data-table recount visible rows + if (isFullscreen) { + const resizeEvent = new Event('resize'); + scrollRef.current?.dispatchEvent(resizeEvent); + } + }, [isFullscreen]); + const renderTabs = () => { return ( @@ -76,7 +90,7 @@ export function ResultSetsViewer(props: ResultSetsViewerProps) { {props.error ? : null} {renderResults()} {currentResult ? ( -
+