Draft: Project Topics - Migrate to updated component
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
- Navigate to a Project
- Go to Settings > General in the sidebar
- At the top of the page, find the Topics section
- Ensure you can properly update, change, create, and search topics
- Note: New topics aren't actually created until you click Save changes on the Project setting page
Related to #452429 (closed)