diff --git a/src/components/Fullscreen/Fullscreen.tsx b/src/components/Fullscreen/Fullscreen.tsx index 2c87070716..14490b188b 100644 --- a/src/components/Fullscreen/Fullscreen.tsx +++ b/src/components/Fullscreen/Fullscreen.tsx @@ -61,6 +61,11 @@ function Fullscreen({children, className}: FullscreenProps) { } else { ref.current?.appendChild(container); } + // Trigger recalculation for components relying on window resize + // Dispatch after DOM repaint to ensure correct measurements + requestAnimationFrame(() => { + window.dispatchEvent(new Event('resize')); + }); } }, [container, isFullscreen]); diff --git a/src/components/QueryResultTable/QueryResultTable.tsx b/src/components/QueryResultTable/QueryResultTable.tsx index 4a4ad6da50..a7d7c1f7f7 100644 --- a/src/components/QueryResultTable/QueryResultTable.tsx +++ b/src/components/QueryResultTable/QueryResultTable.tsx @@ -105,16 +105,14 @@ export const QueryResultTable = (props: QueryResultTableProps) => { } return ( -
- -
+ ); }; diff --git a/src/components/ResizeableDataTable/ResizeableDataTable.scss b/src/components/ResizeableDataTable/ResizeableDataTable.scss index 762c6a6a8a..3366464842 100644 --- a/src/components/ResizeableDataTable/ResizeableDataTable.scss +++ b/src/components/ResizeableDataTable/ResizeableDataTable.scss @@ -1,6 +1,4 @@ .ydb-resizeable-data-table { - display: flex; - width: max-content; // padding for easier resize of the last column diff --git a/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx b/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx index f50c081852..4be7d62ad8 100644 --- a/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx +++ b/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx @@ -6,7 +6,6 @@ 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'; @@ -23,20 +22,11 @@ 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 (