diff options
Diffstat (limited to 'app/assets/javascripts/vue_shared/components/gl_mentions.vue')
-rw-r--r-- | app/assets/javascripts/vue_shared/components/gl_mentions.vue | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_shared/components/gl_mentions.vue b/app/assets/javascripts/vue_shared/components/gl_mentions.vue index 00bc46257ed..da4b0aedef5 100644 --- a/app/assets/javascripts/vue_shared/components/gl_mentions.vue +++ b/app/assets/javascripts/vue_shared/components/gl_mentions.vue @@ -9,6 +9,7 @@ const AutoComplete = { Issues: 'issues', Labels: 'labels', Members: 'members', + MergeRequests: 'mergeRequests', }; function doesCurrentLineStartWith(searchString, fullText, selectionStart) { @@ -99,6 +100,14 @@ const autoCompleteMap = { ${icon}`; }, }, + [AutoComplete.MergeRequests]: { + filterValues() { + return this[AutoComplete.MergeRequests]; + }, + menuItemTemplate({ original }) { + return `<small>${original.reference || original.iid}</small> ${escape(original.title)}`; + }, + }, }; export default { @@ -139,6 +148,13 @@ export default { : `~${original.title}`, values: this.getValues(AutoComplete.Labels), }, + { + trigger: '!', + lookup: value => value.iid + value.title, + menuItemTemplate: autoCompleteMap[AutoComplete.MergeRequests].menuItemTemplate, + selectTemplate: ({ original }) => original.reference || `!${original.iid}`, + values: this.getValues(AutoComplete.MergeRequests), + }, ], }); |