auto submit form on limit change
[MojoFacets.git] / templates / data / items.html.ep
1 % layout 'ui';
2
3 <style type="text/css">
4 table {
5         border-collapse: collapse;
6 }
7 th {
8         white-space: nowrap;
9         background: #eee;
10 }
11 td.numeric {
12         text-align: right;
13 }
14 </style>
15
16 <form class=info>
17 <b><%= $rows %></b> items 
18
19 % my @filters_active = keys %$filters;
20 % if ( @filters_active ) {
21 filter 
22 %  foreach my $n ( @filters_active ) {
23 %  my $title = $#{ $filters->{$n} } + 1;
24 %  $title .= $title > 25 ? ' values' : ': ' . join(', ', @{ $filters->{$n} });
25 <a href="<%= url_for( action => 'facet' )->query( remove => $n ) %>" title="<%= $title %>">
26 <%= $n %></a>
27 %  }
28 <span class=count><%= $#filters_active + 1 %> active click to remove</span>
29 % }
30
31 showing 
32
33 <select name=limit>
34 % foreach my $on_page ( 10,20,50,100,1000 ) {
35 <option <%= $limit == $on_page ? 'selected' : '' %>><%= $on_page %></option>
36 % }
37 </select>
38
39 items
40
41 % if ( $offset + $limit > $rows ) {
42 <span class=count>all</span>
43 % } else {
44 <span class=count><%= $offset + 1 %>-<%= $offset + $limit %></span>
45 % }
46
47 <input type=submit value="refresh">
48
49 </form>
50
51 <%= include 'data/items/' . session('show') %>
52
53 <div class=pager>
54 % my $url = url_for( action => 'items' )->query( offset => 0 );
55 % $url =~ s{=0}{=}; # FIXME url_for is very very slow
56 % foreach my $p ( 0 .. int( $rows / $limit ) ) {
57 % my $o = $p * $limit;
58 %       if ( $o == $offset ) {
59 <b><%= $p + 1 %></b>
60 %       } else {
61 <a href="<%= $url . ( $p * $limit ) %>"><%= $p + 1 %></a>
62 %       }
63 % }
64 </div>
65
66 <ul class=debug>
67 <li>rows: <%= $rows %> offset: <%= $offset %> limit: <%= $limit %>
68 <li>columns: <%= join(',',@$columns) %>
69 <li>numeric: <%= dumper $numeric %>
70 <li>order: <%= session('order') %> sort: <%= session('sort') %>
71 </ul>
72
73 <script type="text/javascript">
74 $(document).ready( function(){
75         $('select[name=limit]').change( function(){
76                 console.debug( 'limit changed', this );
77                 $(this).closest('form').submit();
78         });
79 });
80 </script>