Skip to content

Custom column/header selection and width #2008

Description

@mentonin

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions