Commit 1cda62465f60adf5abbcde443fbb1cb1e402a407
1 parent
00464099
Exists in
master
and in
4 other branches
Fix GFM JS code style
Showing
2 changed files
with
35 additions
and
31 deletions
Show diff stats
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+':', |