cc780c2535d3f5beab9fd66443b4cc40e59bb146
[MojoFacets.git] / templates / data / table.html.ep
1 % layout 'default';
2
3 <style type="text/css">
4 th {
5         white-space: nowrap;
6 }
7 td.numeric {
8         text-align: right;
9 }
10 </style>
11
12 <form class=info>
13 <b><%= $rows %></b> items 
14
15 % my $filters = session('filters');
16 % my @filters_active = keys %$filters;
17 % if ( @filters_active ) {
18 filter 
19 %  foreach my $n ( @filters_active ) {
20 <a href="<%= url_for( action => 'facet' )->query( remove => $n ) %>"
21         title="<%= join(', ', @{ $filters->{$n} }) %>"><%= $n %></a>
22 %  }
23 <span class=count><%= $#filters_active + 1 %> active click to remove</span>
24 % }
25
26 showing 
27
28 <select name=limit>
29 % foreach my $on_page ( 10,20,50,100,1000 ) {
30 <option <%= $limit == $on_page ? 'selected' : '' %>><%= $on_page %></option>
31 % }
32 </select>
33
34 items
35
36 <span class=count><%= $offset + 1 %>-<%= $offset + $limit %></span>
37
38 <input type=submit value="refresh">
39
40 </form>
41
42 <table border=1>
43
44 <tr>
45 % foreach my $n ( @$columns ) {
46 <th>
47 <a href="<%= url_for( action => 'facet' )->query( name => $n ) %>"><%== $filters->{$n} ? '&diams;' : '&loz;' %></a>
48 % if ( session('order') ne $n ) {
49 <a href="<%= url_for( action => 'order' )->query( order => $n ) %>"><%= $n %></a>
50 % } else {
51 <a href="<%= url_for( action => 'order' )->query( order => $n, sort => session('sort') eq 'a' ? 'd' : 'a' ) %>"><%= $n %></a>
52 <%== session('sort') eq 'a' ? '&uarr;' : '&darr;' %>
53 % }
54 </th>
55 % }
56 </tr>
57
58 % foreach my $row ( @$sorted ) {
59 <tr>
60 % foreach my $col ( @$columns ) {
61 <td<%= $numeric->{$col} ? ' class=numeric' : '' %>><%= ref $row->{$col} eq 'ARRAY' ? join(', ',@{ $row->{$col} }) : $row->{$col} %></td>
62 % }
63 </tr>
64 % }
65
66 </table>
67
68 <div class=pager>
69 % foreach my $p ( 0 .. int( $rows / $limit ) ) {
70 % my $o = $p * $limit;
71 %       if ( $o == $offset ) {
72 <b><%= $p + 1 %></b>
73 %       } else {
74 <a href="<%= url_for( action => 'table' )->query( offset => $p * $limit ) %>"><%= $p + 1 %></a>
75 %       }
76 % }
77 </div>
78
79 <ul class=debug>
80 <li>rows: <%= $rows %> offset: <%= $offset %> limit: <%= $limit %>
81 <li>columns: <%= join(',',@$columns) %>
82 <li>numeric: <%= dumper $numeric %>
83 <li>order: <%= session('order') %> sort: <%= session('sort') %>
84 </ul>