Skip to content

Refactor GlMentions autocomplete component

Coung Ngo requested to merge 230972-refactor-gl-mentions-component into master

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 to GfmAutocomplete 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 and filterValues 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

Availability and Testing

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)

Edited by Coung Ngo

Merge request reports