From c8088e58972009a98246433d27aa1fbcebc28e5f Mon Sep 17 00:00:00 2001 From: Ethan Alvizo Date: Fri, 13 Oct 2023 15:01:16 -0400 Subject: [PATCH 1/3] fix: cap width of columns with long names --- packages/grid/src/GridMetricCalculator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/grid/src/GridMetricCalculator.ts b/packages/grid/src/GridMetricCalculator.ts index e9c2a9f950..2238a80de0 100644 --- a/packages/grid/src/GridMetricCalculator.ts +++ b/packages/grid/src/GridMetricCalculator.ts @@ -1043,7 +1043,7 @@ export class GridMetricCalculator { firstColumn, treePaddingX ); - columnWidths.set(column, columnWidth); + columnWidths.set(column, Math.min(600, columnWidth)); x += columnWidth; column += 1; } From 87c402d437c14b1ec4c6c1cfacba4ff17995798c Mon Sep 17 00:00:00 2001 From: Ethan Alvizo Date: Mon, 16 Oct 2023 20:12:52 -0400 Subject: [PATCH 2/3] PR feedback --- packages/grid/src/GridMetricCalculator.ts | 4 ++-- packages/grid/src/GridTheme.ts | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/grid/src/GridMetricCalculator.ts b/packages/grid/src/GridMetricCalculator.ts index 2238a80de0..06241246c7 100644 --- a/packages/grid/src/GridMetricCalculator.ts +++ b/packages/grid/src/GridMetricCalculator.ts @@ -1043,7 +1043,6 @@ export class GridMetricCalculator { firstColumn, treePaddingX ); - columnWidths.set(column, Math.min(600, columnWidth)); x += columnWidth; column += 1; } @@ -1656,7 +1655,7 @@ export class GridMetricCalculator { treePaddingX: number = this.calculateTreePaddingX(state) ): number { const { theme } = state; - const { autoSizeColumns, minColumnWidth } = theme; + const { autoSizeColumns, minColumnWidth, maxColumnWidth } = theme; if (!autoSizeColumns) { const { columnWidth } = theme; return columnWidth; @@ -1667,6 +1666,7 @@ export class GridMetricCalculator { const cachedValue = this.calculatedColumnWidths.get(modelColumn); let columnWidth = Math.ceil(Math.max(headerWidth, dataWidth)); columnWidth = Math.max(minColumnWidth, columnWidth); + columnWidth = Math.min(maxColumnWidth, columnWidth); if (cachedValue != null && cachedValue > columnWidth) { columnWidth = cachedValue; } else { diff --git a/packages/grid/src/GridTheme.ts b/packages/grid/src/GridTheme.ts index df3c55a2a3..13e4137c53 100644 --- a/packages/grid/src/GridTheme.ts +++ b/packages/grid/src/GridTheme.ts @@ -105,6 +105,7 @@ export type GridTheme = { columnWidth: number; minRowHeight: number; minColumnWidth: number; + maxColumnWidth: number; // Default row/column header/footers width/height columnHeaderHeight: number; @@ -206,6 +207,7 @@ const defaultTheme: GridTheme = Object.freeze({ columnWidth: 100, minRowHeight: 20, minColumnWidth: 55, + maxColumnWidth: 600, columnHeaderHeight: 20, rowHeaderWidth: 30, rowFooterWidth: 0, From f0628e079a41132614cd1150cdd53e0c2a038664 Mon Sep 17 00:00:00 2001 From: Ethan Alvizo Date: Mon, 16 Oct 2023 20:23:55 -0400 Subject: [PATCH 3/3] fix accidental removal --- packages/grid/src/GridMetricCalculator.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/grid/src/GridMetricCalculator.ts b/packages/grid/src/GridMetricCalculator.ts index 06241246c7..4b36b92589 100644 --- a/packages/grid/src/GridMetricCalculator.ts +++ b/packages/grid/src/GridMetricCalculator.ts @@ -1043,6 +1043,7 @@ export class GridMetricCalculator { firstColumn, treePaddingX ); + columnWidths.set(column, columnWidth); x += columnWidth; column += 1; }