[UX] Table view

See parent epic (&9571) for problem definition.

Vision

A portable table view component for displaying work items in a grid format, prioritizing data visualization, comparison, and manipulation. This will first be built for the Consolidated List, but can later be extended for Saved Views, GLQL, and potential other contexts.

Iteration path

We're suggesting 3 iterations focused on delivering a complete set of functionality in each.

Iteration 1: Baseline table view with list parity

Expected impact: The first iteration of the Table view offers a more efficient alternative to the List view for scanning and analyzing work items, providing a configurable, spreadsheet-like interface that adapts to users' specific needs. With enhanced data density and comparison capabilities, users can quickly review critical information side-by-side, identify gaps, and make decisions faster and more easily.

Success metrics: TBD

Requirements

1. List parity - in order for this view to be a practical alternative to the List view, it needs to offer the same functionality that users have come to expect with the List view.

  • Open a work item from table record
    • In user preference mode (panel/page)
    • In new tab/window from right-click/cmd-click native inputs
  • Bulk edit multiple records at once
    • Users have the ability to select multiple records/rows to perform changes to fields utilizing the same bulk edit pattern that exists today.
  • Row are manually sortable (in manual sorting mode)
    • Supported by drag-and-drop as well as keyboard shortcut when entire row / record is focused (note: for this we need to ensure each row is focusable before the inner contents, similar to Board cards today)

2. Baseline table features - these are capabilities that users will expect with a table view and necessary to achieve the desired impact for this iteration.

  • Configure columns
    • Users can define which fields show up as columns in the table (managed through the same display options menu we have on Lists today)
    • By default, we will include and support all fields currently shown on the List page
    • Note: some options aren’t currently available in the display options menu, even though we display them in the List (ex: Author, Created/Updated dates, Reference) – we should look at adding those to the display options menu in the future.
  • Resize columns
    • Per field defaults will exist, but allow users to resize them
    • User changes are saved/persistent
    • Note: GLQL already offers this functionality, so hopefully it is something we can take advantage of
  • Reorder columns
    • Supported by drag-and-drop, column quick action (see below), as well as keyboard shortcut when column header is focused
    • User changes are saved/persistent

Iteration 2: Data completeness

Expected impact: This iteration adds the support of custom fields, giving users visibility into the important planning details they've configured for their specific workflow needs. With its ability to handle large and complex datasets, the table view ensures teams can leverage its scanning and comparison capabilities across all their critical data, both standard and custom, without missing key information.

Success metrics: TBD

Requirements

  • Custom fields support for table
    • Bulk edit should include these fields at this point
  • Column configuration includes custom fields
    • Users can define which custom fields show up as columns in the table

Iteration 3: Data manipulation

Expected impact: This iteration introduces inline editing capabilities, making it significantly more efficient for users to update work item data directly within the table without opening additional views or panels. This eliminates the time and context-switching fatigue associated with repeatedly loading the work item panel to update individual fields, allowing users to make small changes and fill in missing information while maintaining their workflow.

Success metrics: TBD

Requirements

  • Inline editing
    • Ability to edit any editable cell from a table record
  • Keyboard support with focus management
    • Each cell should be focusable
      • Focus moved with arrow keys or tab
      • enter or space to edit
      • Edit workflow fully keyboard supported

Resources

Edited by Nick Brandt