User Story
As a user I want to view labels I have applied to watchlist items on the watchlist page, and filter by them
Acceptance criteria
- when viewing their watchlist, a user can see which labels they've applied to each item
- when viewing their watchlist, a user can select one or more labels, and filter their watchlist by those labels
- a filter containing labels should be save-able
- the designs mention "Exclude selected" and "Highlight" buttons on the labels dropdown ... if we get these for free by piggybacking on existing functionality then great, if not then let's postpone them until after the initial release
Details for QA
- there is a new "labels" icon beside "namespaces" and "tags" in the filtering toolbar
- there is a new item with the "labels" icon at the bottom of the filters list under "advanced filters"
- typing = in the filter toolbar, or clicking the "labels" icon, will bring up the labels filter dropdown (or if the user has no labels added there will be text directing them to the labels manager)
- the labels filter dropdown will contain all labels that a user has added via label manager
- clicking one or more of the checkboxes and applying the filter will show only those watchlist items with the labels
- clicking < at the top of the labels filter dropdown brings you to the normal filters list
- applied label filters should be displayed at chips with = before the text of the label
- any label filters can be removed by clicking the x on the chip
- each item in the watchlist that has a label should have (Label: <the label name>) displayed beside it
- a filterset containing labels should be save-able
- the first time a user visits the watchlist page after this feature goes live they will see a tip about managing labels
Designs
Full designs here https://www.figma.com/design/CdyroPkkcT7GJA9bwno0Rq/WE1.4-Task-priotization?node-id=327-15767&p=f&t=it3KLwgfVRsWHUqn-0
Technical details:
Right now filtering works by adding a filter group definition (example here). Looks like the queryCallable adds tables, conds, join_conds, etc to the watchlist query
@tstarling is refactoring a bunch of this stuff right now (see T404416), so how it works now is likely to change, and that ticket is a blocker


