Refactor GlMentions autocomplete component
What does this MR do?
This MR refactors the GlMentions
autocomplete component. The GlMentions
component uses tribute
for autocompletion, and is intended to eventually replace the jQuery-based at.js
library we are currently using for autocompletion. This refactor was done to better structure the code in preparation for a follow-up MR to add EE-only epics autocompletion.
There are no logic changes, apart from adding an autocompleteTypes
prop so that the client can specify which autocompletions to include.
The refactorings include:
- Renaming
GlMentions
toGfmAutocomplete
to be more exact, since the component provides GitLab-flavoured markdown autocomplete - Extract configs to a new
utils.js
file - Extract logic into separate
cacheAssignees
andfilterValues
component methods
Use of the GfmAutocomplete
component is currently behind the feature flag :tribute_autocomplete
and applies only to issue comment textareas.
Related epic: &4002
Screenshots (strongly suggested)
No visual changes
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team
Related to #230972 (closed)