Commit 8c1b83cffe934ded9886a85a74447c0dae6c908e

Authored by Dmitriy Zaporozhets
2 parents e4447de2 66684d6d

Merge pull request #1391 from NARKOZ/refactoring

Refactoring
app/assets/javascripts/admin.js
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 -$(document).ready(function(){  
2 - $('input#user_force_random_password').on('change', function(elem) {  
3 - var elems = $('#user_password, #user_password_confirmation');  
4 -  
5 - if ($(this).attr('checked')) {  
6 - elems.val('').attr('disabled', true);  
7 - } else {  
8 - elems.removeAttr('disabled');  
9 - }  
10 - });  
11 -});  
app/assets/javascripts/admin.js.coffee 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +$ ->
  2 + $('input#user_force_random_password').on 'change', (elem) ->
  3 + elems = $('#user_password, #user_password_confirmation')
  4 +
  5 + if $(@).attr 'checked'
  6 + elems.val('').attr 'disabled', true
  7 + else
  8 + elems.removeAttr 'disabled'
app/assets/javascripts/application.js
@@ -17,134 +17,3 @@ @@ -17,134 +17,3 @@
17 //= require raphael 17 //= require raphael
18 //= require branch-graph 18 //= require branch-graph
19 //= require_tree . 19 //= require_tree .
20 -  
21 -$(document).ready(function(){  
22 -  
23 - $(".one_click_select").live("click", function(){  
24 - $(this).select();  
25 - });  
26 -  
27 - $('body').on('ajax:complete, ajax:beforeSend, submit', 'form', function(e){  
28 - var buttons = $('[type="submit"]', this);  
29 - switch( e.type ){  
30 - case 'ajax:beforeSend':  
31 - case 'submit':  
32 - buttons.attr('disabled', 'disabled');  
33 - break;  
34 - case ' ajax:complete':  
35 - default:  
36 - buttons.removeAttr('disabled');  
37 - break;  
38 - }  
39 - })  
40 -  
41 - $(".account-box").mouseenter(showMenu);  
42 - $(".account-box").mouseleave(resetMenu);  
43 -  
44 - $("#projects-list .project").live('click', function(e){  
45 - if(e.target.nodeName != "A" && e.target.nodeName != "INPUT") {  
46 - location.href = $(this).attr("url");  
47 - e.stopPropagation();  
48 - return false;  
49 - }  
50 - });  
51 -  
52 - /**  
53 - * Focus search field by pressing 's' key  
54 - */  
55 - $(document).keypress(function(e) {  
56 - if( $(e.target).is(":input") ) return;  
57 - switch(e.which) {  
58 - case 115: focusSearch();  
59 - e.preventDefault();  
60 - }  
61 - });  
62 -  
63 - /**  
64 - * Commit show suppressed diff  
65 - *  
66 - */  
67 - $(".supp_diff_link").bind("click", function() {  
68 - showDiff(this);  
69 - });  
70 -  
71 - /**  
72 - * Note markdown preview  
73 - *  
74 - */  
75 - $(document).on('click', '#preview-link', function(e) {  
76 - $('#preview-note').text('Loading...');  
77 -  
78 - var previewLinkText = ($(this).text() == 'Preview' ? 'Edit' : 'Preview');  
79 - $(this).text(previewLinkText);  
80 -  
81 - var note = $('#note_note').val();  
82 - if (note.trim().length === 0) { note = 'Nothing to preview'; }  
83 - $.post($(this).attr('href'), {note: note}, function(data) {  
84 - $('#preview-note').html(data);  
85 - });  
86 -  
87 - $('#preview-note, #note_note').toggle();  
88 - e.preventDefault();  
89 - });  
90 -});  
91 -  
92 -function focusSearch() {  
93 - $("#search").focus();  
94 -}  
95 -  
96 -function updatePage(data){  
97 - $.ajax({type: "GET", url: location.href, data: data, dataType: "script"});  
98 -}  
99 -  
100 -function showMenu() {  
101 - $(this).toggleClass('hover');  
102 -}  
103 -  
104 -function resetMenu() {  
105 - $(this).removeClass("hover");  
106 -}  
107 -  
108 -function slugify(text) {  
109 - return text.replace(/[^-a-zA-Z0-9]+/g, '_').toLowerCase();  
110 -}  
111 -  
112 -function showDiff(link) {  
113 - $(link).next('table').show();  
114 - $(link).remove();  
115 -}  
116 -  
117 -(function($){  
118 - var _chosen = $.fn.chosen;  
119 - $.fn.extend({  
120 - chosen: function(options) {  
121 - var default_options = {'search_contains' : 'true'};  
122 - $.extend(default_options, options);  
123 - return _chosen.apply(this, [default_options]);  
124 - }})  
125 -})(jQuery);  
126 -  
127 -  
128 -function ajaxGet(url) {  
129 - $.ajax({type: "GET", url: url, dataType: "script"});  
130 -}  
131 -  
132 -/**  
133 - * Disable button if text field is empty  
134 - */  
135 -function disableButtonIfEmtpyField(field_selector, button_selector) {  
136 - field = $(field_selector);  
137 - if(field.val() == "") {  
138 - field.closest("form").find(button_selector).attr("disabled", "disabled").addClass("disabled");  
139 - }  
140 -  
141 - field.on('keyup', function(){  
142 - var field = $(this);  
143 - var closest_submit = field.closest("form").find(button_selector);  
144 - if(field.val() == "") {  
145 - closest_submit.attr("disabled", "disabled").addClass("disabled");  
146 - } else {  
147 - closest_submit.removeAttr("disabled").removeClass("disabled");  
148 - }  
149 - })  
150 -}  
app/assets/javascripts/graph.js
@@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
1 -function initGraphNav() {  
2 - $(".graph svg").css("position", "relative");  
3 - $("body").bind("keyup", function(e) {  
4 - if(e.keyCode == 37) { // left  
5 - $(".graph svg").animate({ left: "+=400" });  
6 - } else if(e.keyCode == 39) { // right  
7 - $(".graph svg").animate({ left: "-=400" });  
8 - }  
9 - });  
10 -}  
app/assets/javascripts/graph.js.coffee 0 → 100644
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +initGraphNav = ->
  2 + $('.graph svg').css 'position', 'relative'
  3 +
  4 + $('body').bind 'keyup', (e) ->
  5 + if e.keyCode is 37 # left
  6 + $('.graph svg').animate left: '+=400'
  7 + else if e.keyCode is 39 # right
  8 + $('.graph svg').animate left: '-=400'
  9 +
  10 +window.initGraphNav = initGraphNav
app/assets/javascripts/loader.js
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 -var Loader = {  
2 - img_src: "/assets/ajax-loader.gif",  
3 -  
4 - html:  
5 - function(width) {  
6 - img = $("<img>");  
7 - img.attr("width", width);  
8 - img.attr("src", this.img_src);  
9 - return img;  
10 - }  
11 -}  
app/assets/javascripts/loader.js.coffee 0 → 100644
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +Loader =
  2 + html: (width) ->
  3 + $('<img>').attr src: '/assets/ajax-loader.gif', width: width
  4 +
  5 +window.Loader = Loader
app/assets/javascripts/main.js 0 → 100644
@@ -0,0 +1,130 @@ @@ -0,0 +1,130 @@
  1 +$(document).ready(function(){
  2 +
  3 + $(".one_click_select").live("click", function(){
  4 + $(this).select();
  5 + });
  6 +
  7 + $('body').on('ajax:complete, ajax:beforeSend, submit', 'form', function(e){
  8 + var buttons = $('[type="submit"]', this);
  9 + switch( e.type ){
  10 + case 'ajax:beforeSend':
  11 + case 'submit':
  12 + buttons.attr('disabled', 'disabled');
  13 + break;
  14 + case ' ajax:complete':
  15 + default:
  16 + buttons.removeAttr('disabled');
  17 + break;
  18 + }
  19 + })
  20 +
  21 + $(".account-box").mouseenter(showMenu);
  22 + $(".account-box").mouseleave(resetMenu);
  23 +
  24 + $("#projects-list .project").live('click', function(e){
  25 + if(e.target.nodeName != "A" && e.target.nodeName != "INPUT") {
  26 + location.href = $(this).attr("url");
  27 + e.stopPropagation();
  28 + return false;
  29 + }
  30 + });
  31 +
  32 + /**
  33 + * Focus search field by pressing 's' key
  34 + */
  35 + $(document).keypress(function(e) {
  36 + if( $(e.target).is(":input") ) return;
  37 + switch(e.which) {
  38 + case 115: focusSearch();
  39 + e.preventDefault();
  40 + }
  41 + });
  42 +
  43 + /**
  44 + * Commit show suppressed diff
  45 + *
  46 + */
  47 + $(".supp_diff_link").bind("click", function() {
  48 + showDiff(this);
  49 + });
  50 +
  51 + /**
  52 + * Note markdown preview
  53 + *
  54 + */
  55 + $(document).on('click', '#preview-link', function(e) {
  56 + $('#preview-note').text('Loading...');
  57 +
  58 + var previewLinkText = ($(this).text() == 'Preview' ? 'Edit' : 'Preview');
  59 + $(this).text(previewLinkText);
  60 +
  61 + var note = $('#note_note').val();
  62 + if (note.trim().length === 0) { note = 'Nothing to preview'; }
  63 + $.post($(this).attr('href'), {note: note}, function(data) {
  64 + $('#preview-note').html(data);
  65 + });
  66 +
  67 + $('#preview-note, #note_note').toggle();
  68 + e.preventDefault();
  69 + });
  70 +});
  71 +
  72 +function focusSearch() {
  73 + $("#search").focus();
  74 +}
  75 +
  76 +function updatePage(data){
  77 + $.ajax({type: "GET", url: location.href, data: data, dataType: "script"});
  78 +}
  79 +
  80 +function showMenu() {
  81 + $(this).toggleClass('hover');
  82 +}
  83 +
  84 +function resetMenu() {
  85 + $(this).removeClass("hover");
  86 +}
  87 +
  88 +function slugify(text) {
  89 + return text.replace(/[^-a-zA-Z0-9]+/g, '_').toLowerCase();
  90 +}
  91 +
  92 +function showDiff(link) {
  93 + $(link).next('table').show();
  94 + $(link).remove();
  95 +}
  96 +
  97 +(function($){
  98 + var _chosen = $.fn.chosen;
  99 + $.fn.extend({
  100 + chosen: function(options) {
  101 + var default_options = {'search_contains' : 'true'};
  102 + $.extend(default_options, options);
  103 + return _chosen.apply(this, [default_options]);
  104 + }})
  105 +})(jQuery);
  106 +
  107 +
  108 +function ajaxGet(url) {
  109 + $.ajax({type: "GET", url: url, dataType: "script"});
  110 +}
  111 +
  112 +/**
  113 + * Disable button if text field is empty
  114 + */
  115 +function disableButtonIfEmtpyField(field_selector, button_selector) {
  116 + field = $(field_selector);
  117 + if(field.val() == "") {
  118 + field.closest("form").find(button_selector).attr("disabled", "disabled").addClass("disabled");
  119 + }
  120 +
  121 + field.on('keyup', function(){
  122 + var field = $(this);
  123 + var closest_submit = field.closest("form").find(button_selector);
  124 + if(field.val() == "") {
  125 + closest_submit.attr("disabled", "disabled").addClass("disabled");
  126 + } else {
  127 + closest_submit.removeAttr("disabled").removeClass("disabled");
  128 + }
  129 + })
  130 +}
app/assets/javascripts/projects.js.coffee
1 window.Projects = -> 1 window.Projects = ->
2 - $("#project_name").live "change", ->  
3 - slug = slugify($(this).val())  
4 - $("#project_code").val(slug)  
5 - $("#project_path").val(slug) 2 + $('#project_name').on 'change', ->
  3 + slug = slugify $(@).val()
  4 + $('#project_code').val slug
6 5
7 - $(".new_project, .edit_project").live "ajax:before", ->  
8 - $(".project_new_holder, .project_edit_holder").hide()  
9 - $(".save-project-loader").show() 6 + $('.new_project, .edit_project').on 'ajax:before', ->
  7 + $('.project_new_holder, .project_edit_holder').hide()
  8 + $('.save-project-loader').show()
10 9
11 - $("form #project_default_branch").chosen()  
12 - disableButtonIfEmtpyField "#project_name", ".project-submit" 10 + $('form #project_default_branch').chosen()
  11 + disableButtonIfEmtpyField '#project_name', '.project-submit'
13 12
14 # Git clone panel switcher 13 # Git clone panel switcher
15 $ -> 14 $ ->
16 - scope = $('.project_clone_holder') 15 + scope = $ '.project_clone_holder'
17 if scope.length > 0 16 if scope.length > 0
18 $('a, button', scope).click -> 17 $('a, button', scope).click ->
19 - $('a, button', scope).removeClass('active')  
20 - $(this).addClass('active')  
21 - $('#project_clone', scope).val($(this).data('clone')) 18 + $('a, button', scope).removeClass 'active'
  19 + $(@).addClass 'active'
  20 + $('#project_clone', scope).val $(@).data 'clone'
app/assets/javascripts/snippets.js
@@ -1,9 +0,0 @@ @@ -1,9 +0,0 @@
1 -$(document).ready(function(){  
2 - $("#snippets-table .snippet").live('click', function(e){  
3 - if(e.target.nodeName != "A" && e.target.nodeName != "INPUT") {  
4 - location.href = $(this).attr("url");  
5 - e.stopPropagation();  
6 - return false;  
7 - }  
8 - });  
9 -});  
app/assets/javascripts/snippets.js.coffee 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +$ ->
  2 + $('#snippets-table .snippet').live 'click', (e) ->
  3 + if e.target.nodeName isnt 'A' and e.target.nodeName isnt 'INPUT'
  4 + location.href = $(@).attr 'url'
  5 + e.stopPropagation()
  6 + false
app/assets/javascripts/team.js
@@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
1 -function backToMembers(){  
2 - $("#new_team_member").hide("slide", { direction: "right" }, 150, function(){  
3 - $("#team-table").show("slide", { direction: "left" }, 150, function() {  
4 - $("#new_team_member").remove();  
5 - $(".add_new").show();  
6 - });  
7 - });  
8 -}  
app/controllers/commits_controller.rb
@@ -64,19 +64,14 @@ class CommitsController &lt; ApplicationController @@ -64,19 +64,14 @@ class CommitsController &lt; ApplicationController
64 @commit.to_patch, 64 @commit.to_patch,
65 type: "text/plain", 65 type: "text/plain",
66 disposition: 'attachment', 66 disposition: 'attachment',
67 - filename: (@commit.id.to_s + ".patch") 67 + filename: "#{@commit.id.patch}"
68 ) 68 )
69 end 69 end
70 70
71 protected 71 protected
72 72
73 def load_refs 73 def load_refs
74 - if params[:ref].blank?  
75 - @branch = params[:branch].blank? ? nil : params[:branch]  
76 - @tag = params[:tag].blank? ? nil : params[:tag]  
77 - @ref = @branch || @tag || @project.try(:default_branch) || 'master'  
78 - else  
79 - @ref = params[:ref]  
80 - end 74 + @ref ||= params[:ref].presence || params[:branch].presence || params[:tag].presence
  75 + @ref ||= @ref || @project.try(:default_branch) || 'master'
81 end 76 end
82 end 77 end