Commit 3e800c3bb1b835cd17e32eedd8816bc17f6317e4

Authored by Riyad Preukschas
1 parent 1cda6246

Refactor GFM JS naming and access

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