Commit 1cda62465f60adf5abbcde443fbb1cb1e402a407

Authored by Riyad Preukschas
1 parent 00464099

Fix GFM JS code style

app/assets/javascripts/gfm_auto_complete.js.coffee
1 # Creates the variables for setting up GFM auto-completion 1 # Creates the variables for setting up GFM auto-completion
2 2
  3 +window.GitLab ?= {}
  4 +window.GitLab.AutoComplete ?= {}
  5 +
3 # Emoji 6 # Emoji
4 data = [] 7 data = []
5 template = "<li data-value='${insert}'>${name} <img alt='${name}' height='20' src='${image}' width='20' /></li>" 8 template = "<li data-value='${insert}'>${name} <img alt='${name}' height='20' src='${image}' width='20' /></li>"
6 -window.autocompleteEmoji = {data, template} 9 +window.GitLab.AutoComplete.Emoji = {data, template}
7 10
8 # Team Members 11 # Team Members
9 url = ''; 12 url = '';
10 params = {private_token: '', page: 1} 13 params = {private_token: '', page: 1}
11 -window.autocompleteMembers = {data, url, params} 14 +window.GitLab.AutoComplete.Members = {data, url, params}
12 15
13 # Add GFM auto-completion to all input fields, that accept GFM input. 16 # Add GFM auto-completion to all input fields, that accept GFM input.
14 window.setupGfmAutoComplete = -> 17 window.setupGfmAutoComplete = ->
15 - $input = $('.js-gfm-input') 18 + input = $('.js-gfm-input')
16 19
17 # Emoji 20 # Emoji
18 - $input.atWho ':',  
19 - data: autocompleteEmoji.data,  
20 - tpl: autocompleteEmoji.template 21 + input.atWho ':',
  22 + data: GitLab.AutoComplete.Emoji.data,
  23 + tpl: GitLab.AutoComplete.Emoji.template
21 24
22 # Team Members 25 # Team Members
23 - $input.atWho '@', (query, callback) -> 26 + input.atWho '@', (query, callback) ->
24 (getMoreMembers = -> 27 (getMoreMembers = ->
25 - $.getJSON(autocompleteMembers.url, autocompleteMembers.params).success (members) ->  
26 - # pick the data we need  
27 - newMembersData = $.map members, (m) -> m.name  
28 -  
29 - # add the new page of data to the rest  
30 - $.merge autocompleteMembers.data, newMembersData  
31 -  
32 - # show the pop-up with a copy of the current data  
33 - callback autocompleteMembers.data[..]  
34 -  
35 - # are we past the last page?  
36 - if newMembersData.length is 0  
37 - # set static data and stop callbacks  
38 - $input.atWho '@',  
39 - data: autocompleteMembers.data  
40 - callback: null  
41 - else  
42 - # get next page  
43 - getMoreMembers() 28 + $.getJSON(GitLab.AutoComplete.Members.url, GitLab.AutoComplete.Members.params)
  29 + .success (members) ->
  30 + # pick the data we need
  31 + newMembersData = $.map(members, (m) -> m.name )
  32 +
  33 + # add the new page of data to the rest
  34 + $.merge(GitLab.AutoComplete.Members.data, newMembersData)
  35 +
  36 + # show the pop-up with a copy of the current data
  37 + callback(GitLab.AutoComplete.Members.data[..])
  38 +
  39 + # are we past the last page?
  40 + if newMembersData.length is 0
  41 + # set static data and stop callbacks
  42 + input.atWho '@',
  43 + data: GitLab.AutoComplete.Members.data
  44 + callback: null
  45 + else
  46 + # get next page
  47 + getMoreMembers()
44 48
45 # so the next request gets the next page 49 # so the next request gets the next page
46 - autocompleteMembers.params.page += 1 50 + GitLab.AutoComplete.Members.params.page += 1
47 ).call() 51 ).call()
app/views/layouts/_init_auto_complete.html.haml
1 :javascript 1 :javascript
2 $(function() { 2 $(function() {
3 - autocompleteMembers.url = "#{ "/api/v2/projects/#{@project.code}/members" if @project }";  
4 - autocompleteMembers.params.private_token = "#{current_user.private_token}"; 3 + GitLab.AutoComplete.Members.url = "#{ "/api/v2/projects/#{@project.code}/members" if @project }";
  4 + GitLab.AutoComplete.Members.params.private_token = "#{current_user.private_token}";
5 5
6 - autocompleteEmoji.data = #{raw emoji_autocomplete_source}; 6 + GitLab.AutoComplete.Emoji.data = #{raw emoji_autocomplete_source};
7 // convert the list so that the items have the right format for completion 7 // convert the list so that the items have the right format for completion
8 - autocompleteEmoji.data = $.map(autocompleteEmoji.data, function(value) { 8 + GitLab.AutoComplete.Emoji.data = $.map(GitLab.AutoComplete.Emoji.data, function(value) {
9 return { 9 return {
10 name: value, 10 name: value,
11 insert: value+':', 11 insert: value+':',