Commit d6c384c20f3798fffd0481cd758700a27bebd44f
1 parent
b565f334
Exists in
master
and in
4 other branches
Reduce the amount of JavaScript written in views
Seeing `:javascript` all over Views feels like a code smell. This goes a long way towards reducing the amount of JS in views, but there's still plenty to be done on that front.
Showing
18 changed files
with
22 additions
and
122 deletions
Show diff stats
app/assets/javascripts/main.js.coffee
@@ -24,6 +24,9 @@ $ -> | @@ -24,6 +24,9 @@ $ -> | ||
24 | # Click a .one_click_select field, select the contents | 24 | # Click a .one_click_select field, select the contents |
25 | $(".one_click_select").live 'click', -> $(this).select() | 25 | $(".one_click_select").live 'click', -> $(this).select() |
26 | 26 | ||
27 | + # Initialize chosen selects | ||
28 | + $('select.chosen').chosen() | ||
29 | + | ||
27 | # Disable form buttons while a form is submitting | 30 | # Disable form buttons while a form is submitting |
28 | $('body').on 'ajax:complete, ajax:beforeSend, submit', 'form', (e) -> | 31 | $('body').on 'ajax:complete, ajax:beforeSend, submit', 'form', (e) -> |
29 | buttons = $('[type="submit"]', this) | 32 | buttons = $('[type="submit"]', this) |
app/views/admin/projects/_form.html.haml
@@ -32,7 +32,7 @@ | @@ -32,7 +32,7 @@ | ||
32 | - unless project.new_record? | 32 | - unless project.new_record? |
33 | .clearfix | 33 | .clearfix |
34 | = f.label :owner_id | 34 | = f.label :owner_id |
35 | - .input= f.select :owner_id, User.all.map { |user| [user.name, user.id] } | 35 | + .input= f.select :owner_id, User.all.map { |user| [user.name, user.id] }, {}, {class: 'chosen'} |
36 | 36 | ||
37 | - if project.repo_exists? | 37 | - if project.repo_exists? |
38 | .clearfix | 38 | .clearfix |
@@ -69,7 +69,6 @@ | @@ -69,7 +69,6 @@ | ||
69 | 69 | ||
70 | :javascript | 70 | :javascript |
71 | $(function(){ | 71 | $(function(){ |
72 | - $('#project_owner_id').chosen(); | ||
73 | new Projects(); | 72 | new Projects(); |
74 | }) | 73 | }) |
75 | 74 |
app/views/admin/projects/show.html.haml
@@ -71,25 +71,11 @@ | @@ -71,25 +71,11 @@ | ||
71 | %th Project Access: | 71 | %th Project Access: |
72 | 72 | ||
73 | %tr | 73 | %tr |
74 | - %td= select_tag :user_ids, options_from_collection_for_select(@users , :id, :name), multiple: true | ||
75 | - %td= select_tag :project_access, options_for_select(Project.access_options), class: "project-access-select" | 74 | + %td= select_tag :user_ids, options_from_collection_for_select(@users , :id, :name), multiple: true, data: {placeholder: 'Select users'}, class: 'chosen span5' |
75 | + %td= select_tag :project_access, options_for_select(Project.access_options), {class: "project-access-select chosen span3"} | ||
76 | 76 | ||
77 | %tr | 77 | %tr |
78 | %td= submit_tag 'Add', class: "btn primary" | 78 | %td= submit_tag 'Add', class: "btn primary" |
79 | %td | 79 | %td |
80 | Read more about project permissions | 80 | Read more about project permissions |
81 | %strong= link_to "here", help_permissions_path, class: "vlink" | 81 | %strong= link_to "here", help_permissions_path, class: "vlink" |
82 | - | ||
83 | -:css | ||
84 | - form select { | ||
85 | - width:150px; | ||
86 | - } | ||
87 | - | ||
88 | - #user_ids { | ||
89 | - width:300px; | ||
90 | - } | ||
91 | - | ||
92 | -:javascript | ||
93 | - $('select#user_ids').chosen(); | ||
94 | - $('select#repo_access').chosen(); | ||
95 | - $('select#project_access').chosen(); |
app/views/admin/team_members/_form.html.haml
@@ -8,20 +8,9 @@ | @@ -8,20 +8,9 @@ | ||
8 | .clearfix | 8 | .clearfix |
9 | %label Project Access: | 9 | %label Project Access: |
10 | .input | 10 | .input |
11 | - = f.select :project_access, options_for_select(Project.access_options, @admin_team_member.project_access), {}, class: "project-access-select" | 11 | + = f.select :project_access, options_for_select(Project.access_options, @admin_team_member.project_access), {}, class: "project-access-select chosen span3" |
12 | 12 | ||
13 | %br | 13 | %br |
14 | .actions | 14 | .actions |
15 | = f.submit 'Save', class: "btn primary" | 15 | = f.submit 'Save', class: "btn primary" |
16 | = link_to 'Cancel', :back, class: "btn" | 16 | = link_to 'Cancel', :back, class: "btn" |
17 | - | ||
18 | -:css | ||
19 | - form select { | ||
20 | - width:300px; | ||
21 | - } | ||
22 | - | ||
23 | -:javascript | ||
24 | - $('select#team_member_user_id').chosen(); | ||
25 | - $('select#team_member_project_id').chosen(); | ||
26 | - $('select#team_member_repo_access').chosen(); | ||
27 | - $('select#team_member_project_access').chosen(); |
app/views/admin/users/show.html.haml
@@ -68,8 +68,8 @@ | @@ -68,8 +68,8 @@ | ||
68 | %th Project Access: | 68 | %th Project Access: |
69 | 69 | ||
70 | %tr | 70 | %tr |
71 | - %td= select_tag :project_ids, options_from_collection_for_select(@projects , :id, :name), multiple: true | ||
72 | - %td= select_tag :project_access, options_for_select(Project.access_options), class: "project-access-select" | 71 | + %td= select_tag :project_ids, options_from_collection_for_select(@projects , :id, :name), multiple: true, data: {placeholder: 'Select projects'}, class: 'chosen span5' |
72 | + %td= select_tag :project_access, options_for_select(Project.access_options), class: "project-access-select chosen span3" | ||
73 | 73 | ||
74 | %tr | 74 | %tr |
75 | %td= submit_tag 'Add', class: "btn primary" | 75 | %td= submit_tag 'Add', class: "btn primary" |
@@ -97,17 +97,3 @@ | @@ -97,17 +97,3 @@ | ||
97 | %td= select_tag :tm_project_access, options_for_select(Project.access_options, tm.project_access), class: "medium project-access-select", disabled: :disabled | 97 | %td= select_tag :tm_project_access, options_for_select(Project.access_options, tm.project_access), class: "medium project-access-select", disabled: :disabled |
98 | %td= link_to 'Edit Access', edit_admin_team_member_path(tm), class: "btn small" | 98 | %td= link_to 'Edit Access', edit_admin_team_member_path(tm), class: "btn small" |
99 | %td= link_to 'Remove from team', admin_team_member_path(tm), confirm: 'Are you sure?', method: :delete, class: "btn small danger" | 99 | %td= link_to 'Remove from team', admin_team_member_path(tm), confirm: 'Are you sure?', method: :delete, class: "btn small danger" |
100 | - | ||
101 | -:css | ||
102 | - form select { | ||
103 | - width:150px; | ||
104 | - } | ||
105 | - | ||
106 | - #project_ids { | ||
107 | - width:300px; | ||
108 | - } | ||
109 | - | ||
110 | -:javascript | ||
111 | - $('select#project_ids').chosen(); | ||
112 | - $('select#repo_access').chosen(); | ||
113 | - $('select#project_access').chosen(); |
app/views/commits/_head.html.haml
1 | %ul.nav.nav-tabs | 1 | %ul.nav.nav-tabs |
2 | %li | 2 | %li |
3 | = form_tag switch_project_refs_path(@project), method: :get, class: "project-refs-form" do | 3 | = form_tag switch_project_refs_path(@project), method: :get, class: "project-refs-form" do |
4 | - = select_tag "ref", grouped_options_refs, onchange: "$(this.form).trigger('submit');", class: "project-refs-select" | 4 | + = select_tag "ref", grouped_options_refs, onchange: "$(this.form).trigger('submit');", class: "project-refs-select chosen" |
5 | = hidden_field_tag :destination, "commits" | 5 | = hidden_field_tag :destination, "commits" |
6 | 6 | ||
7 | %li{class: "#{'active' if current_page?(project_commits_path(@project)) }"} | 7 | %li{class: "#{'active' if current_page?(project_commits_path(@project)) }"} |
@@ -26,8 +26,3 @@ | @@ -26,8 +26,3 @@ | ||
26 | %span.rss-icon | 26 | %span.rss-icon |
27 | = link_to project_commits_path(@project, :atom, { private_token: current_user.private_token, ref: @ref }), title: "Feed" do | 27 | = link_to project_commits_path(@project, :atom, { private_token: current_user.private_token, ref: @ref }), title: "Feed" do |
28 | = image_tag "rss_ui.png", title: "feed" | 28 | = image_tag "rss_ui.png", title: "feed" |
29 | - | ||
30 | -:javascript | ||
31 | - $(function(){ | ||
32 | - $('.project-refs-select').chosen(); | ||
33 | - }); |
app/views/issues/_form.html.haml
@@ -18,12 +18,12 @@ | @@ -18,12 +18,12 @@ | ||
18 | = f.label :assignee_id do | 18 | = f.label :assignee_id do |
19 | %i.icon-user | 19 | %i.icon-user |
20 | Assign to | 20 | Assign to |
21 | - .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { include_blank: "Select a user" }) | 21 | + .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { include_blank: "Select a user" }, {class: 'chosen'}) |
22 | .issue_milestone | 22 | .issue_milestone |
23 | = f.label :milestone_id do | 23 | = f.label :milestone_id do |
24 | %i.icon-time | 24 | %i.icon-time |
25 | Milestone | 25 | Milestone |
26 | - .input= f.select(:milestone_id, @project.milestones.active.all.collect {|p| [ p.title, p.id ] }, { include_blank: "Select milestone" }) | 26 | + .input= f.select(:milestone_id, @project.milestones.active.all.collect {|p| [ p.title, p.id ] }, { include_blank: "Select milestone" }, {class: 'chosen'}) |
27 | 27 | ||
28 | .issue_description | 28 | .issue_description |
29 | .clearfix | 29 | .clearfix |
app/views/issues/edit.html.haml
app/views/issues/new.html.haml
app/views/merge_requests/_form.html.haml
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | .padded | 16 | .padded |
17 | = f.label :source_branch, "From", class: "control-label" | 17 | = f.label :source_branch, "From", class: "control-label" |
18 | .controls | 18 | .controls |
19 | - = f.select(:source_branch, @project.heads.map(&:name), { include_blank: "Select branch" }, style: "width:250px") | 19 | + = f.select(:source_branch, @project.heads.map(&:name), { include_blank: "Select branch" }, {class: 'chosen span3'}) |
20 | .mr_source_commit | 20 | .mr_source_commit |
21 | 21 | ||
22 | .span2 | 22 | .span2 |
@@ -28,7 +28,7 @@ | @@ -28,7 +28,7 @@ | ||
28 | .padded | 28 | .padded |
29 | = f.label :target_branch, "To", class: "control-label" | 29 | = f.label :target_branch, "To", class: "control-label" |
30 | .controls | 30 | .controls |
31 | - = f.select(:target_branch, @project.heads.map(&:name), { include_blank: "Select branch" }, style: "width:250px") | 31 | + = f.select(:target_branch, @project.heads.map(&:name), { include_blank: "Select branch" }, {class: 'chosen span3'}) |
32 | .mr_target_commit | 32 | .mr_target_commit |
33 | 33 | ||
34 | %h4.cdark 2. Fill info | 34 | %h4.cdark 2. Fill info |
@@ -43,7 +43,7 @@ | @@ -43,7 +43,7 @@ | ||
43 | = f.label :assignee_id do | 43 | = f.label :assignee_id do |
44 | %i.icon-user | 44 | %i.icon-user |
45 | Assign to | 45 | Assign to |
46 | - .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { include_blank: "Select user" }, style: "width:250px") | 46 | + .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { include_blank: "Select user" }, {class: 'chosen span3'}) |
47 | 47 | ||
48 | .control-group | 48 | .control-group |
49 | 49 | ||
@@ -56,18 +56,12 @@ | @@ -56,18 +56,12 @@ | ||
56 | = link_to project_merge_request_path(@project, @merge_request), class: "btn cancel-btn" do | 56 | = link_to project_merge_request_path(@project, @merge_request), class: "btn cancel-btn" do |
57 | Cancel | 57 | Cancel |
58 | 58 | ||
59 | - | ||
60 | - | ||
61 | :javascript | 59 | :javascript |
62 | $(function(){ | 60 | $(function(){ |
63 | disableButtonIfEmptyField("#merge_request_title", ".save-btn"); | 61 | disableButtonIfEmptyField("#merge_request_title", ".save-btn"); |
64 | - $('select#merge_request_assignee_id').chosen(); | ||
65 | - $('select#merge_request_source_branch').chosen(); | ||
66 | - $('select#merge_request_target_branch').chosen(); | ||
67 | var source_branch = $("#merge_request_source_branch"); | 62 | var source_branch = $("#merge_request_source_branch"); |
68 | var target_branch = $("#merge_request_target_branch"); | 63 | var target_branch = $("#merge_request_target_branch"); |
69 | 64 | ||
70 | - | ||
71 | $.get("#{branch_from_project_merge_requests_path(@project)}", {ref: source_branch.val() }); | 65 | $.get("#{branch_from_project_merge_requests_path(@project)}", {ref: source_branch.val() }); |
72 | $.get("#{branch_to_project_merge_requests_path(@project)}", {ref: target_branch.val() }); | 66 | $.get("#{branch_to_project_merge_requests_path(@project)}", {ref: target_branch.val() }); |
73 | 67 | ||
@@ -79,4 +73,3 @@ | @@ -79,4 +73,3 @@ | ||
79 | $.get("#{branch_to_project_merge_requests_path(@project)}", {ref: $(this).val() }); | 73 | $.get("#{branch_to_project_merge_requests_path(@project)}", {ref: $(this).val() }); |
80 | }); | 74 | }); |
81 | }); | 75 | }); |
82 | - |
app/views/milestones/edit.html.haml
app/views/projects/_refs.html.haml
1 | = form_tag switch_project_refs_path(@project), method: :get, class: "project-refs-form" do | 1 | = form_tag switch_project_refs_path(@project), method: :get, class: "project-refs-form" do |
2 | - = select_tag "ref", grouped_options_refs, onchange: "this.form.submit();", class: "project-refs-select" | 2 | + = select_tag "ref", grouped_options_refs, onchange: "this.form.submit();", class: "project-refs-select chosen" |
3 | = hidden_field_tag :destination, destination | 3 | = hidden_field_tag :destination, destination |
4 | - | ||
5 | -:javascript | ||
6 | - $(function(){ | ||
7 | - $('.project-refs-select').chosen(); | ||
8 | - }) |
app/views/protected_branches/index.html.haml
@@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
19 | .entry.clearfix | 19 | .entry.clearfix |
20 | = f.label :name, "Branch" | 20 | = f.label :name, "Branch" |
21 | .span3 | 21 | .span3 |
22 | - = f.select(:name, @project.open_branches.map { |br| [br.name, br.name] } , { include_blank: "-- Select branch" }, { class: "span3" }) | 22 | + = f.select(:name, @project.open_branches.map { |br| [br.name, br.name] } , {include_blank: "Select branch"}, {class: "chosen span3"}) |
23 | | 23 | |
24 | = f.submit 'Protect', class: "primary btn" | 24 | = f.submit 'Protect', class: "primary btn" |
25 | 25 | ||
@@ -46,6 +46,3 @@ | @@ -46,6 +46,3 @@ | ||
46 | %td | 46 | %td |
47 | - if can? current_user, :admin_project, @project | 47 | - if can? current_user, :admin_project, @project |
48 | = link_to 'Unprotect', [@project, branch], confirm: 'Are you sure?', method: :delete, class: "danger btn small" | 48 | = link_to 'Unprotect', [@project, branch], confirm: 'Are you sure?', method: :delete, class: "danger btn small" |
49 | - | ||
50 | -:javascript | ||
51 | - $('select#protected_branch_name').chosen(); |
app/views/refs/_head.html.haml
1 | %ul.nav.nav-tabs | 1 | %ul.nav.nav-tabs |
2 | %li | 2 | %li |
3 | = form_tag switch_project_refs_path(@project), method: :get, class: "project-refs-form", remote: true do | 3 | = form_tag switch_project_refs_path(@project), method: :get, class: "project-refs-form", remote: true do |
4 | - = select_tag "ref", grouped_options_refs, onchange: "$(this.form).trigger('submit');", class: "project-refs-select" | 4 | + = select_tag "ref", grouped_options_refs, onchange: "$(this.form).trigger('submit');", class: "project-refs-select chosen" |
5 | = hidden_field_tag :destination, "tree" | 5 | = hidden_field_tag :destination, "tree" |
6 | = hidden_field_tag :path, params[:path] | 6 | = hidden_field_tag :path, params[:path] |
7 | %li{class: "#{'active' if (controller.controller_name == "refs") }"} | 7 | %li{class: "#{'active' if (controller.controller_name == "refs") }"} |
app/views/refs/_tree.html.haml
@@ -47,10 +47,7 @@ | @@ -47,10 +47,7 @@ | ||
47 | 47 | ||
48 | :javascript | 48 | :javascript |
49 | $(function(){ | 49 | $(function(){ |
50 | - $('.project-refs-select').chosen(); | ||
51 | - | ||
52 | history.pushState({ path: this.path }, '', "#{@history_path}"); | 50 | history.pushState({ path: this.path }, '', "#{@history_path}"); |
53 | - | ||
54 | }); | 51 | }); |
55 | 52 | ||
56 | // Load last commit log for each file in tree | 53 | // Load last commit log for each file in tree |
app/views/refs/blame.html.haml
app/views/snippets/_form.html.haml
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | .input= f.text_field :file_name, placeholder: "example.rb" | 16 | .input= f.text_field :file_name, placeholder: "example.rb" |
17 | .clearfix | 17 | .clearfix |
18 | = f.label "Lifetime" | 18 | = f.label "Lifetime" |
19 | - .input= f.select :expires_at, lifetime_select_options, {}, style: "width:200px;" | 19 | + .input= f.select :expires_at, lifetime_select_options, {}, {class: 'chosen span2'} |
20 | .clearfix | 20 | .clearfix |
21 | = f.label :content, "Code" | 21 | = f.label :content, "Code" |
22 | .input= f.text_area :content, class: "span8" | 22 | .input= f.text_area :content, class: "span8" |
@@ -26,11 +26,3 @@ | @@ -26,11 +26,3 @@ | ||
26 | = link_to "Cancel", project_snippets_path(@project), class: " btn" | 26 | = link_to "Cancel", project_snippets_path(@project), class: " btn" |
27 | - unless @snippet.new_record? | 27 | - unless @snippet.new_record? |
28 | .right= link_to 'Destroy', [@project, @snippet], confirm: 'Are you sure?', method: :delete, class: "btn right danger delete-snippet", id: "destroy_snippet_#{@snippet.id}" | 28 | .right= link_to 'Destroy', [@project, @snippet], confirm: 'Are you sure?', method: :delete, class: "btn right danger delete-snippet", id: "destroy_snippet_#{@snippet.id}" |
29 | - | ||
30 | - | ||
31 | - | ||
32 | -:javascript | ||
33 | - $(function(){ | ||
34 | - $('select#snippet_expires_at').chosen(); | ||
35 | - }); | ||
36 | - |
app/views/team_members/_form.html.haml
@@ -10,21 +10,14 @@ | @@ -10,21 +10,14 @@ | ||
10 | 10 | ||
11 | %h6 1. Choose people you want in the team | 11 | %h6 1. Choose people you want in the team |
12 | .clearfix | 12 | .clearfix |
13 | - = f.label :user_ids, "Peolpe" | ||
14 | - .input= select_tag(:user_ids, options_from_collection_for_select(User.not_in_project(@project).all, :id, :name), { class: "xxlarge", multiple: true }) | ||
15 | - | 13 | + = f.label :user_ids, "People" |
14 | + .input= select_tag(:user_ids, options_from_collection_for_select(User.not_in_project(@project).all, :id, :name), {data: {placeholder: "Select users"}, class: "chosen xxlarge", multiple: true}) | ||
16 | 15 | ||
17 | %h6 2. Set access level for them | 16 | %h6 2. Set access level for them |
18 | .clearfix | 17 | .clearfix |
19 | = f.label :project_access, "Project Access" | 18 | = f.label :project_access, "Project Access" |
20 | - .input= select_tag :project_access, options_for_select(Project.access_options, @team_member.project_access), class: "project-access-select" | ||
21 | - | 19 | + .input= select_tag :project_access, options_for_select(Project.access_options, @team_member.project_access), class: "project-access-select chosen" |
22 | 20 | ||
23 | .actions | 21 | .actions |
24 | = f.submit 'Save', class: "btn save-btn" | 22 | = f.submit 'Save', class: "btn save-btn" |
25 | = link_to "Cancel", team_project_path(@project), class: "btn cancel-btn" | 23 | = link_to "Cancel", team_project_path(@project), class: "btn cancel-btn" |
26 | - | ||
27 | - | ||
28 | -:javascript | ||
29 | - $('select#user_ids').chosen(); | ||
30 | - $('select#project_access').chosen(); |