Skip to content

Draft: Project Topics - Migrate to updated component

Zack Cuddy requested to merge 452429-migrate-project-topics-selector into master

Why Draft?

  • Confirm UX decisions
  • Tests

What does this MR do and why?

Fixes customer issue: #386864 (closed)
Closes #452429 (closed)

This change migrates the Project Topic selector GlTokenSelector => GlCollapsibleListbox. The main reason for this migration is to resolve an issue with GlTokenSelector when used in tandem with a fuzzy search that makes it impossible to create new records in scenarios where a fuzzy search brings back an almost correct item. This is due to the fact that GlTokenSelector only allows new records to be added when there are no results.

There were multiple avenues to resolve this bug here, but migrating the the modern component seemed like a good move towards more consistency in the our UI experience while also resolving the bug.

Important note: Topics can not be deleted from this UI, but rather, must be deleted via the Admin panel per our documentation.

Screenshots or screen recordings

Existing funcitionality parity

All existing functionality should still function.

Before After
No existing topics Before_-_No_existing_topics After_-_No_existing_topics
With existing topics Before_-_With_Existing_Topics After_-_With_Existing_Topics
Searching Before_-_Searching After_-_Searching

Bug fix

When fuzzy search returns non-exact results, it is not possible to create a new topic. This is fixed in this MR.

Before After
Bug Fix Before_-_BUG After_-_BUG_FIX

How to set up and validate locally

  1. Navigate to a Project
  2. Go to Settings > General in the sidebar
  3. At the top of the page, find the Topics section
  4. Ensure you can properly update, change, create, and search topics
  5. Note: New topics aren't actually created until you click Save changes on the Project setting page

Related to #452429 (closed)

Merge request reports

Loading