Commit a23447bf2309a3f2c0736e8a2ccaeb2badcb220d
1 parent
2200d533
Exists in
master
and in
1 other branch
head and hidden tail for long tables
Showing
3 changed files
with
36 additions
and
5 deletions
Show diff stats
app/assets/javascripts/errbit.js
... | ... | @@ -130,5 +130,10 @@ $(function() { |
130 | 130 | // Hide external backtrace on page load |
131 | 131 | hide_external_backtrace(); |
132 | 132 | |
133 | + $('.head a.show_tail').click(function(e) { | |
134 | + $(this).hide().closest('.head_and_tail').find('.tail').show(); | |
135 | + e.preventDefault(); | |
136 | + }); | |
137 | + | |
133 | 138 | init(); |
134 | 139 | }); | ... | ... |
app/helpers/application_helper.rb
... | ... | @@ -61,9 +61,22 @@ module ApplicationHelper |
61 | 61 | render "errs/tally_table", :rows => rows |
62 | 62 | end |
63 | 63 | |
64 | + def head(collection) | |
65 | + collection.first(head_size) | |
66 | + end | |
67 | + | |
68 | + def tail(collection) | |
69 | + collection.to_a[head_size..-1].to_a | |
70 | + end | |
71 | + | |
64 | 72 | private |
65 | 73 | def total_from_tallies(tallies) |
66 | 74 | tallies.values.inject(0) {|sum, n| sum + n} |
67 | 75 | end |
76 | + | |
77 | + def head_size | |
78 | + 4 | |
79 | + end | |
80 | + | |
68 | 81 | end |
69 | 82 | ... | ... |
app/views/errs/_tally_table.html.haml
1 | -%table.tally | |
2 | - - rows.each do |row| | |
3 | - %tr | |
4 | - %td.percent= number_to_percentage(row[0], :precision => 1) | |
5 | - %th.value= row[1] | |
1 | +.head_and_tail | |
2 | + %table.tally.head | |
3 | + %tbody | |
4 | + - head(rows).each do |row| | |
5 | + %tr | |
6 | + %td.percent= number_to_percentage(row[0], :precision => 1) | |
7 | + %th.value= row[1] | |
8 | + - if rows.size > head_size | |
9 | + %tfoot | |
10 | + %tr | |
11 | + %td{colspan: 2} | |
12 | + = link_to 'Show more...', '#', class: :show_tail | |
13 | + %table.tally.tail{style: "display: none"} | |
14 | + %tbody | |
15 | + - tail(rows).each do |row| | |
16 | + %tr | |
17 | + %td.percent= number_to_percentage(row[0], :precision => 1) | |
18 | + %th.value= row[1] | ... | ... |