You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
toggleAllColumnsVisible fires onColumnVisibilityChange on a no-op, same gap as #6538 for row selection #6539
Same gap as #6538, one feature over: table_toggleAllColumnsVisible has no guard against firing onColumnVisibilityChange when the requested visibility state already matches the current one, unlike table_toggleAllRowsExpanded after #6501 (closing #6136).
It rebuilds the full visibility map and calls table_setColumnVisibility unconditionally, there's no early return comparable to table_toggleAllRowsExpanded's if (currentExpanded === true) return for the already-all-shown/already-all-hidden case.
Repro
table.toggleAllColumnsVisible(true)// shows every column, fires onColumnVisibilityChangetable.toggleAllColumnsVisible(true)// every column already visible...// onColumnVisibilityChange still fires, with a map equal to the previous one
table_getIsAllColumnsVisible(table) is already available and cheap to check (it's what the function itself falls back to when value isn't passed), so guarding the explicit-value branch the same way wouldn't need a new primitive, just the same if (value === table_getIsAllColumnsVisible(table)) return shape #6501 used for expansion.
Filing this and #6538 as separate reports since they're two independent call sites in two different features, even though the underlying pattern (and likely the fix) is the same.
Activity