Skip to content

Commit 5a70954

Browse files
authored
Fix outlier removal in column sizer (glideapps#313)
* Fix outlier removal in column sizer * Use newer max syntax
1 parent 2ca4058 commit 5a70954

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

packages/core/src/data-editor/use-column-sizer.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,12 @@ export function useColumnSizer(
133133
}
134134
sizes.push(ctx.measureText(c.title).width + 16 + (c.icon === undefined ? 0 : 28));
135135
const average = sizes.reduce((a, b) => a + b) / sizes.length;
136-
const biggest = sizes.reduce((a, acc) => (a > average * 2 ? acc : Math.max(acc, a)));
137-
136+
if (sizes.length > 5) {
137+
// Filter out outliers
138+
sizes = sizes.filter(a => a < average * 2);
139+
}
140+
const biggest = Math.max(...sizes);
141+
138142
const final = Math.max(minColumnWidth, Math.min(maxColumnWidth, Math.ceil(biggest)));
139143
memoMap.current[c.id] = final;
140144

0 commit comments

Comments
 (0)