Commit 3e800c3bb1b835cd17e32eedd8816bc17f6317e4

Authored by Riyad Preukschas
1 parent 1cda6246

Refactor GFM JS naming and access

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 ?= {} 3 window.GitLab ?= {}
4 -window.GitLab.AutoComplete ?= {} 4 +GitLab.GfmAutoComplete ?= {}
5 5
6 # Emoji 6 # Emoji
7 data = [] 7 data = []
8 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>"
9 -window.GitLab.AutoComplete.Emoji = {data, template} 9 +GitLab.GfmAutoComplete.Emoji = {data, template}
10 10
11 # Team Members 11 # Team Members
  12 +data = []
12 url = ''; 13 url = '';
13 params = {private_token: '', page: 1} 14 params = {private_token: '', page: 1}
14 -window.GitLab.AutoComplete.Members = {data, url, params} 15 +GitLab.GfmAutoComplete.Members = {data, url, params}
15 16
16 # Add GFM auto-completion to all input fields, that accept GFM input. 17 # Add GFM auto-completion to all input fields, that accept GFM input.
17 -window.setupGfmAutoComplete = -> 18 +GitLab.GfmAutoComplete.setup = ->
18 input = $('.js-gfm-input') 19 input = $('.js-gfm-input')
19 20
20 # Emoji 21 # Emoji
21 input.atWho ':', 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 # Team Members 26 # Team Members
26 input.atWho '@', (query, callback) -> 27 input.atWho '@', (query, callback) ->
27 (getMoreMembers = -> 28 (getMoreMembers = ->
28 - $.getJSON(GitLab.AutoComplete.Members.url, GitLab.AutoComplete.Members.params) 29 + $.getJSON(GitLab.GfmAutoComplete.Members.url, GitLab.GfmAutoComplete.Members.params)
29 .success (members) -> 30 .success (members) ->
30 # pick the data we need 31 # pick the data we need
31 newMembersData = $.map(members, (m) -> m.name ) 32 newMembersData = $.map(members, (m) -> m.name )
32 33
33 # add the new page of data to the rest 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 # show the pop-up with a copy of the current data 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 # are we past the last page? 40 # are we past the last page?
40 if newMembersData.length is 0 41 if newMembersData.length is 0
41 # set static data and stop callbacks 42 # set static data and stop callbacks
42 input.atWho '@', 43 input.atWho '@',
43 - data: GitLab.AutoComplete.Members.data 44 + data: GitLab.GfmAutoComplete.Members.data
44 callback: null 45 callback: null
45 else 46 else
46 # get next page 47 # get next page
47 getMoreMembers() 48 getMoreMembers()
48 49
49 # so the next request gets the next page 50 # so the next request gets the next page
50 - GitLab.AutoComplete.Members.params.page += 1 51 + GitLab.GfmAutoComplete.Members.params.page += 1
51 ).call() 52 ).call()
app/assets/javascripts/issues.js
@@ -5,7 +5,7 @@ function switchToNewIssue(){ @@ -5,7 +5,7 @@ function switchToNewIssue(){
5 $("#new_issue_dialog").show("fade", { direction: "right" }, 150); 5 $("#new_issue_dialog").show("fade", { direction: "right" }, 150);
6 $('.top-tabs .add_new').hide(); 6 $('.top-tabs .add_new').hide();
7 disableButtonIfEmptyField("#issue_title", ".save-btn"); 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,7 +16,7 @@ function switchToEditIssue(){
16 $("#edit_issue_dialog").show("fade", { direction: "right" }, 150); 16 $("#edit_issue_dialog").show("fade", { direction: "right" }, 150);
17 $('.add_new').hide(); 17 $('.add_new').hide();
18 disableButtonIfEmptyField("#issue_title", ".save-btn"); 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 :javascript 1 :javascript
2 $(function() { 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 // 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 - GitLab.AutoComplete.Emoji.data = $.map(GitLab.AutoComplete.Emoji.data, function(value) { 8 + GitLab.GfmAutoComplete.Emoji.data = $.map(GitLab.GfmAutoComplete.Emoji.data, function(value) {
9 return { 9 return {
10 name: value, 10 name: value,
11 insert: value+':', 11 insert: value+':',
@@ -13,5 +13,5 @@ @@ -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,5 +10,5 @@
10 - else 10 - else
11 :plain 11 :plain
12 $(".note-form-holder").replaceWith("#{escape_javascript(render 'form')}"); 12 $(".note-form-holder").replaceWith("#{escape_javascript(render 'form')}");
13 - setupGfmAutoComplete();  
14 13
  14 + GitLab.GfmAutoComplete.setup();