Skip to content

Commit cdafd77

Browse files
committed
fix(ResultSetsViewer): recount rows if fullscreen
1 parent 69bdb59 commit cdafd77

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
import React from 'react';
2+
13
import type {Settings} from '@gravity-ui/react-data-table';
24
import {Flex, Tab, TabList, TabProvider, Text} from '@gravity-ui/uikit';
35

46
import {QueryResultTable} from '../../../../../../components/QueryResultTable';
57
import type {ParsedResultSet} from '../../../../../../types/store/query';
68
import {cn} from '../../../../../../utils/cn';
9+
import {useTypedSelector} from '../../../../../../utils/hooks';
710
import {QueryResultError} from '../QueryResultError/QueryResultError';
811

912
import './ResultSetsViewer.scss';
@@ -20,9 +23,20 @@ interface ResultSetsViewerProps {
2023

2124
export function ResultSetsViewer(props: ResultSetsViewerProps) {
2225
const {selectedResultSet, setSelectedResultSet, resultSets, error} = props;
26+
const isFullscreen = useTypedSelector((state) => state.fullscreen);
27+
28+
const scrollRef = React.useRef<HTMLDivElement>(null);
2329

2430
const currentResult = resultSets?.[selectedResultSet];
2531

32+
React.useEffect(() => {
33+
//this is needed to trigger data-table recount visible rows
34+
if (isFullscreen) {
35+
const resizeEvent = new Event('resize');
36+
scrollRef.current?.dispatchEvent(resizeEvent);
37+
}
38+
}, [isFullscreen]);
39+
2640
const renderTabs = () => {
2741
return (
2842
<TabProvider value={String(selectedResultSet)}>
@@ -76,7 +90,7 @@ export function ResultSetsViewer(props: ResultSetsViewerProps) {
7690
{props.error ? <QueryResultError error={error} /> : null}
7791
{renderResults()}
7892
{currentResult ? (
79-
<div className={b('result')}>
93+
<div className={b('result')} ref={scrollRef}>
8094
<QueryResultTable
8195
settings={props.tableSettings}
8296
data={currentResult.result}

0 commit comments

Comments
 (0)