load only MAX_FACETS facets, 10000 by default
[MojoFacets.git] / templates / data / facet.html.ep
1 % layout 'ui';
2
3 <form method=post action=/data/filter >
4 <input type=hidden name=filter_name value="<%= $name %>">
5 <input type=submit value="Filter <%= $name %>">
6 <span class=count>
7 % my $checked_count = scalar keys %$checked;
8 % my $facet_count = $#{ $facet_names } + 1;
9 % if ( $checked_count ) {
10 %  if ( $checked_count == $facet_count ) {
11 <a id=checked-count href="<%= url_for->query( name => $name, all => 1 ) %>" title="reload all facets">all</a>
12 %  } else {
13 <a id=checked-count href="<%= url_for->query( name => $name, all => 0 ) %>" title="reload selected facets"><%= $checked_count %></a>
14 %  }
15 % } else {
16 <span id=checked-count>0</span>
17 % }
18 <span id=facet-count title="total"><%= $facet_count %></span>
19 </span>
20
21 <%= include 'all_checkboxes' %>
22
23 <%= include 'sorting' %>
24
25 <ul id=facet>
26 % my $max_facets = $ENV{MAX_FACETS} || 10000;
27 % my $facet_nr  = 0;
28 % foreach my $n ( @$facet_names ) {
29 %  if ( $facet_nr++ > $max_facets ) {
30 <div class=alert>
31 To keep browser memory usage at sane level, only <%= $max_facets %> facets are loaded to browser
32 </div>
33 %    last;
34 %  }
35 <li>
36 <label>
37 <input type=checkbox name="filter_vals" value="<%= $n %>" <%= $checked->{$n} && defined $facet->{$n} ? 'checked' : '' %>>
38 <%= $n %>
39 </label>
40 %  if ( defined $facet->{$n} ) {
41 <span class="count"><%= $facet->{$n} %></span>
42 %  }
43 % }
44 </ul>
45
46 <input type=submit value="Filter <%= $name %>">
47 <input type=text name=_permanent>
48
49 </form>
50
51 % if ( $#$facet_names < 5000 ) {
52 <script type="text/javascript" src="/facet_graph.js"></script>
53 % }
54
55 % if ( $#$facet_names < 100 ) {
56 <pre class=debug><%#= dumper $facet %></pre>
57 % }
58