From 1d3422044debda92bc5faf7fc412853cfaf66f49 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Fri, 17 Jun 2016 00:22:01 +0000 Subject: Merge branch 'add_autocomplete_for_labels' into 'master' Add GFM autocomplete for labels Closes #14637 See merge request !4013 --- app/assets/javascripts/gfm_auto_complete.js.coffee | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'app/assets/javascripts') diff --git a/app/assets/javascripts/gfm_auto_complete.js.coffee b/app/assets/javascripts/gfm_auto_complete.js.coffee index 76c3083232b..190bb38504c 100644 --- a/app/assets/javascripts/gfm_auto_complete.js.coffee +++ b/app/assets/javascripts/gfm_auto_complete.js.coffee @@ -15,6 +15,9 @@ GitLab.GfmAutoComplete = Members: template: '
  • ${username} ${title}
  • ' + Labels: + template: '
  • ${title}
  • ' + # Issues and MergeRequests Issues: template: '
  • ${id} ${title}
  • ' @@ -176,6 +179,25 @@ GitLab.GfmAutoComplete = title: sanitize(m.title) search: "#{m.iid} #{m.title}" + @input.atwho + at: '~' + alias: 'labels' + searchKey: 'search' + displayTpl: @Labels.template + insertTpl: '${atwho-at}${title}' + callbacks: + beforeSave: (merges) -> + sanitizeLabelTitle = (title)-> + if /\w+\s+\w+/g.test(title) + "\"#{sanitize(title)}\"" + else + sanitize(title) + + $.map merges, (m) -> + title: sanitizeLabelTitle(m.title) + color: m.color + search: "#{m.title}" + destroyAtWho: -> @input.atwho('destroy') @@ -195,6 +217,8 @@ GitLab.GfmAutoComplete = @input.atwho 'load', 'mergerequests', data.mergerequests # load emojis @input.atwho 'load', ':', data.emojis + # load labels + @input.atwho 'load', '~', data.labels # This trigger at.js again # otherwise we would be stuck with loading until the user types -- cgit v1.2.3