Page MenuHomePhabricator

Add priority group headers to workboard columns (display only)
ClosedPublic

Authored by epriestley on Mar 5 2019, 3:21 PM.
Tags
None
Referenced Files
F12826422: D20247.diff
Thu, Mar 28, 9:27 AM
Unknown Object (File)
Sun, Mar 17, 12:21 PM
Unknown Object (File)
Sun, Mar 10, 8:21 PM
Unknown Object (File)
Fri, Mar 1, 4:51 AM
Unknown Object (File)
Feb 21 2024, 12:57 PM
Unknown Object (File)
Feb 16 2024, 5:01 PM
Unknown Object (File)
Feb 10 2024, 12:22 PM
Unknown Object (File)
Feb 3 2024, 9:36 PM
Subscribers
None
Tokens
"Love" token, awarded by leoluk.

Details

Summary

Ref T10333. When workboards are ordered (for example, by priority), add headers to the various groups. Major goals are:

  • Allow users to drag-and-drop to set values that no cards currently have: for example, you can change a card priority to "normal" by dragging it under the "normal" header, even if no other cards in the column are currently "Normal".
  • Make future orderings more useful, particularly "order by assignee". We don't really have room to put the username on every card and it would create a fair amount of clutter, but we can put usernames in these headers and then reference them with just the profile picture. This also allows you to assign to users who are not currently assigned anything in a given column.
  • Make the drag-and-drop behavior more obvious by showing what it will do more clearly (see T8135).
  • Make things a little easier to scan in general: because space on cards is limited, some information isn't conveyed very clearly (for example, priority information is currently conveyed only through color, which can be hard to pick out visually and is probably not functional for users who need vision accommodations).
  • Maybe do "swimlanes": this is pretty much a "swimlanes" UI if we add whitespace at the bottom of each group so that the headers line up across all the columns (e.g., "Normal" is at the same y-axis position in every column as you scroll down the page). Not sold on this being useful, but it's just a UI adjustment if we do want to try it.
NOTE: This only makes these headers work for display.

They aren't yet recognized as targets by the drag list UI, so you can't drag cards into an empty group. I'll tackle that in a followup.

Test Plan

Screen Shot 2019-03-05 at 7.06.31 AM.png (517×626 px, 73 KB)

Diff Detail

Repository
rP Phabricator
Branch
board3
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 22176
Build 30313: Run Core Tests
Build 30312: arc lint + arc unit

Event Timeline

The new classes here are:

  • HeaderTemplate: Has a unique <header_key>. Abstract description of each header (name, ordering, HTML template). There's one header template across the whole board for each unique header (for example, one "High Priority" header template). This is the template for every copy of that header in every column.
  • Header: Has a unique <column, header_key>. A concrete element in a column with some nodes and text. Has an ordering in the column, display nodes, and will soon be part of the drag/drop list logic. Each column has a Header for every display element in the column (for example, columns A and B will each have their own separate "High Priority" headers).

So, on a priority board with several columns, the HeaderTemplates will be "High", "Normal", "Low", etc.

The Headers will be "Backlog: High", "Backlog: Normal", ..., "Next Steps: High" "Next Steps: Normal", ..., and so on.

This revision is now accepted and ready to land.Mar 8 2019, 11:26 PM
This revision was automatically updated to reflect the committed changes.