On many tables, we have to execute a complicated compromise between row width, information availability and parsing ease. I propose giving more control to the user over this compromise:
- Columns can be toggled on/off
- Columns can be reordered
- Columns can be resized
- Resized columns have a fixed size
- Resized headers have a marker. Clicking the marker resets column size.
- Unset columns share the space dynamically
- If space remaining without scrolling > sum(
fixed_widths + max_dynamic_widths), use max_dynamic_width (no horizontal scrolling)
- If space remaining without scrolling < sum(
fixed_widths + min_dynamic_widths), use preferred_dynamic_width and (horizontal scrolling)
- If space is between two previous cases, distribute it according to column weights (no horizontal scrolling)
- Columns required to identify a row are always on and always the leftmost columns
- Column selection and ordering are not added to the URL by default
- Tables have an "export" button that creates an URL with all view options specified.
- We would have to understand how to do this for pages with multiple tables
- A "settings-only export/import" might be useful to allow repeating the display settings with different queries
On many tables, we have to execute a complicated compromise between row width, information availability and parsing ease. I propose giving more control to the user over this compromise:
fixed_widths +max_dynamic_widths), usemax_dynamic_width(no horizontal scrolling)fixed_widths +min_dynamic_widths), usepreferred_dynamic_widthand (horizontal scrolling)