Commit e5875d949ff38e3126723adb9891b58913512d31
Exists in
master
and in
1 other branch
Merge pull request #130 from nashby/add-select-all-button
add select all checkboxes button fro problems page, closes #111
Showing
2 changed files
with
31 additions
and
19 deletions
Show diff stats
app/views/errs/_table.html.haml
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | %table.errs.selectable | 3 | %table.errs.selectable |
4 | %thead | 4 | %thead |
5 | %tr | 5 | %tr |
6 | - %th | 6 | + %th= check_box_tag "toggle_problems_checkboxes" |
7 | %th= link_for_sort "App" | 7 | %th= link_for_sort "App" |
8 | %th= link_for_sort "What & Where".html_safe, "message" | 8 | %th= link_for_sort "What & Where".html_safe, "message" |
9 | %th= link_for_sort "Latest", "last_notice_at" | 9 | %th= link_for_sort "Latest", "last_notice_at" |
@@ -42,7 +42,7 @@ | @@ -42,7 +42,7 @@ | ||
42 | %td.resolve= link_to image_tag("thumbs-up.png"), resolve_app_err_path(problem.app, problem), :title => "Resolve", :method => :put, :confirm => err_confirm, :class => 'resolve' if problem.unresolved? | 42 | %td.resolve= link_to image_tag("thumbs-up.png"), resolve_app_err_path(problem.app, problem), :title => "Resolve", :method => :put, :confirm => err_confirm, :class => 'resolve' if problem.unresolved? |
43 | - if errs.none? | 43 | - if errs.none? |
44 | %tr | 44 | %tr |
45 | - %td{:colspan => (@app ? 5 : 6)} | 45 | + %td{:colspan => (@app ? 6 : 7)} |
46 | %em No errs here | 46 | %em No errs here |
47 | = paginate errs | 47 | = paginate errs |
48 | .tab-bar | 48 | .tab-bar |
public/javascripts/application.js
1 | // App JS | 1 | // App JS |
2 | 2 | ||
3 | $(function() { | 3 | $(function() { |
4 | - | 4 | + |
5 | var currentTab = "summary"; | 5 | var currentTab = "summary"; |
6 | - | 6 | + |
7 | function init() { | 7 | function init() { |
8 | - | 8 | + |
9 | activateTabbedPanels(); | 9 | activateTabbedPanels(); |
10 | - | 10 | + |
11 | activateSelectableRows(); | 11 | activateSelectableRows(); |
12 | - | 12 | + |
13 | + toggleProblemsCheckboxes(); | ||
14 | + | ||
13 | $('#watcher_name').live("click", function() { | 15 | $('#watcher_name').live("click", function() { |
14 | $(this).closest('form').find('.show').removeClass('show'); | 16 | $(this).closest('form').find('.show').removeClass('show'); |
15 | $('#app_watchers_attributes_0_user_id').addClass('show'); | 17 | $('#app_watchers_attributes_0_user_id').addClass('show'); |
16 | }); | 18 | }); |
17 | - | 19 | + |
18 | $('#watcher_email').live("click", function() { | 20 | $('#watcher_email').live("click", function() { |
19 | $(this).closest('form').find('.show').removeClass('show'); | 21 | $(this).closest('form').find('.show').removeClass('show'); |
20 | $('#app_watchers_attributes_0_email').addClass('show'); | 22 | $('#app_watchers_attributes_0_email').addClass('show'); |
21 | }); | 23 | }); |
22 | - | 24 | + |
23 | $('a.copy_config').live("click", function() { | 25 | $('a.copy_config').live("click", function() { |
24 | $('select.choose_other_app').show().focus(); | 26 | $('select.choose_other_app').show().focus(); |
25 | }); | 27 | }); |
26 | - | 28 | + |
27 | $('select.choose_other_app').live("change", function() { | 29 | $('select.choose_other_app').live("change", function() { |
28 | var loc = window.location; | 30 | var loc = window.location; |
29 | window.location.href = loc.protocol + "//" + loc.host + loc.pathname + | 31 | window.location.href = loc.protocol + "//" + loc.host + loc.pathname + |
30 | "?copy_attributes_from=" + $(this).val(); | 32 | "?copy_attributes_from=" + $(this).val(); |
31 | }); | 33 | }); |
32 | - | 34 | + |
33 | $('input[type=submit][data-action]').click(function() { | 35 | $('input[type=submit][data-action]').click(function() { |
34 | $(this).closest('form').attr('action', $(this).attr('data-action')); | 36 | $(this).closest('form').attr('action', $(this).attr('data-action')); |
35 | }); | 37 | }); |
36 | - | 38 | + |
37 | $('.notice-pagination').each(function() { | 39 | $('.notice-pagination').each(function() { |
38 | $('.notice-pagination a').pjax('#content', { timeout: 2000}); | 40 | $('.notice-pagination a').pjax('#content', { timeout: 2000}); |
39 | $('#content').bind('pjax:start', function() { | 41 | $('#content').bind('pjax:start', function() { |
@@ -46,7 +48,7 @@ $(function() { | @@ -46,7 +48,7 @@ $(function() { | ||
46 | }); | 48 | }); |
47 | }); | 49 | }); |
48 | } | 50 | } |
49 | - | 51 | + |
50 | function activateTabbedPanels() { | 52 | function activateTabbedPanels() { |
51 | $('.tab-bar a').each(function(){ | 53 | $('.tab-bar a').each(function(){ |
52 | var tab = $(this); | 54 | var tab = $(this); |
@@ -54,25 +56,35 @@ $(function() { | @@ -54,25 +56,35 @@ $(function() { | ||
54 | panel.addClass('panel'); | 56 | panel.addClass('panel'); |
55 | panel.find('h3').hide(); | 57 | panel.find('h3').hide(); |
56 | }); | 58 | }); |
57 | - | 59 | + |
58 | $('.tab-bar a').click(function(){ | 60 | $('.tab-bar a').click(function(){ |
59 | activateTab($(this)); | 61 | activateTab($(this)); |
60 | return(false); | 62 | return(false); |
61 | }); | 63 | }); |
62 | activateTab($('.tab-bar ul li a.button[rel=' + currentTab + ']')); | 64 | activateTab($('.tab-bar ul li a.button[rel=' + currentTab + ']')); |
63 | } | 65 | } |
64 | - | 66 | + |
65 | function activateTab(tab) { | 67 | function activateTab(tab) { |
66 | tab = $(tab); | 68 | tab = $(tab); |
67 | var panel = $('#'+tab.attr('rel')); | 69 | var panel = $('#'+tab.attr('rel')); |
68 | - | 70 | + |
69 | tab.closest('.tab-bar').find('a.active').removeClass('active'); | 71 | tab.closest('.tab-bar').find('a.active').removeClass('active'); |
70 | tab.addClass('active'); | 72 | tab.addClass('active'); |
71 | - | 73 | + |
72 | $('.panel').hide(); | 74 | $('.panel').hide(); |
73 | panel.show(); | 75 | panel.show(); |
74 | } | 76 | } |
75 | - | 77 | + |
78 | + function toggleProblemsCheckboxes() { | ||
79 | + var checkboxToggler = $('#toggle_problems_checkboxes'); | ||
80 | + | ||
81 | + checkboxToggler.live("click", function() { | ||
82 | + $('input[name^="problems"]').each(function() { | ||
83 | + this.checked = checkboxToggler.get(0).checked; | ||
84 | + }); | ||
85 | + }); | ||
86 | + } | ||
87 | + | ||
76 | function activateSelectableRows() { | 88 | function activateSelectableRows() { |
77 | $('.selectable tr').click(function(event) { | 89 | $('.selectable tr').click(function(event) { |
78 | if(!_.include(['A', 'INPUT', 'BUTTON', 'TEXTAREA'], event.target.nodeName)) { | 90 | if(!_.include(['A', 'INPUT', 'BUTTON', 'TEXTAREA'], event.target.nodeName)) { |
@@ -81,6 +93,6 @@ $(function() { | @@ -81,6 +93,6 @@ $(function() { | ||
81 | } | 93 | } |
82 | }); | 94 | }); |
83 | } | 95 | } |
84 | - | 96 | + |
85 | init(); | 97 | init(); |
86 | }); | 98 | }); |