From 25fc8d025e03ba2c05d47aa85b7d531d6c519a9e Mon Sep 17 00:00:00 2001 From: Andrew Cherniavskyi Date: Wed, 28 Jun 2023 19:10:44 +0200 Subject: [PATCH 1/2] do not round width values --- .../features/dimensions/useGridDimensions.ts | 4 ++-- .../src/tests/layout.DataGrid.test.tsx | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/grid/x-data-grid/src/hooks/features/dimensions/useGridDimensions.ts b/packages/grid/x-data-grid/src/hooks/features/dimensions/useGridDimensions.ts index 7e4ab15d00298..92d2e1c1a620f 100644 --- a/packages/grid/x-data-grid/src/hooks/features/dimensions/useGridDimensions.ts +++ b/packages/grid/x-data-grid/src/hooks/features/dimensions/useGridDimensions.ts @@ -109,7 +109,7 @@ export function useGridDimensions( if (props.autoHeight) { hasScrollY = false; - hasScrollX = Math.round(columnsTotalWidth) > rootDimensionsRef.current.width; + hasScrollX = columnsTotalWidth > rootDimensionsRef.current.width; viewportOuterSize = { width: rootDimensionsRef.current.width, @@ -122,7 +122,7 @@ export function useGridDimensions( }; const scrollInformation = hasScroll({ - content: { width: Math.round(columnsTotalWidth), height: rowsMeta.currentPageTotalHeight }, + content: { width: columnsTotalWidth, height: rowsMeta.currentPageTotalHeight }, container: { width: viewportOuterSize.width, height: viewportOuterSize.height - pinnedRowsHeight.top - pinnedRowsHeight.bottom, diff --git a/packages/grid/x-data-grid/src/tests/layout.DataGrid.test.tsx b/packages/grid/x-data-grid/src/tests/layout.DataGrid.test.tsx index 58f89e69f6449..f4f1f2fbd6084 100644 --- a/packages/grid/x-data-grid/src/tests/layout.DataGrid.test.tsx +++ b/packages/grid/x-data-grid/src/tests/layout.DataGrid.test.tsx @@ -1128,6 +1128,7 @@ describe(' - Layout & Warnings', () => { expect(virtualScroller.clientWidth).to.equal(initialVirtualScrollerWidth); }); + // See https://github.com/mui/mui-x/issues/8689#issuecomment-1582616570 it('should not add scrollbars when the parent container has fractional size', async function test() { if (/jsdom/.test(window.navigator.userAgent)) { // Need layouting @@ -1146,4 +1147,18 @@ describe(' - Layout & Warnings', () => { // It should not have a vertical scrollbar expect(virtualScroller.scrollHeight - virtualScroller.clientHeight).to.equal(0); }); + + // See https://github.com/mui/mui-x/issues/9510 + it('should not exceed maximum call stack size when the parent container has fractional width', function test() { + if (/jsdom/.test(window.navigator.userAgent)) { + // Need layouting + this.skip(); + } + + render( +
+ +
, + ); + }); }); From 2ed06a50084b0dd64bf7a1e4835e8ddced65feb4 Mon Sep 17 00:00:00 2001 From: Andrew Cherniavskyi Date: Fri, 30 Jun 2023 09:50:21 +0200 Subject: [PATCH 2/2] empty