20b91da1151ab78e173e558157cc05a7973851ea
[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 % my $all_values = param('all_values');
29 % $max_facets = $facet_count if $all_values;
30 % foreach my $n ( @$facet_names ) {
31 %  if ( $facet_nr++ == $max_facets ) {
32 <div class=alert>
33 First <a title="config MAX_FACETS" href="/config"><%= $max_facets %></a> shown
34 &middot;
35 <a href="<%= url_for()->query( name => $name, all_values => 1 ) %>">Show all <%= $facet_count %></a>
36 </div>
37 %  }
38 %  if ( $facet_nr > $max_facets && ! $checked->{$n} ) {
39 %    next;
40 %  }
41 <li>
42 <label>
43 <input type=checkbox name="filter_vals" value="<%= $n %>" <%= $checked->{$n} && defined $facet->{$n} ? 'checked' : '' %>>
44 %  if ( defined $facet->{$n} ) {
45 <%= $n %><span style="color:white">;</span><span class="count"><%= $facet->{$n} %></span>
46 %  } else {
47 <%= $n %>
48 %  }
49 </label>
50 % }
51 </ul>
52
53 <input type=submit value="Filter <%= $name %>">
54 <input type=text name=_permanent>
55
56 </form>
57
58 <form method=post>
59 <input type=hidden name=name value="<%= $name %>">
60 <div style="float: right">
61 Eval code on each facet <tt>$value</tt> and <tt>$count</tt>
62 <pre>
63 $out->{sum} += $value * $count;
64 $out->{sum}->{ $checked ? 'on' : 'off' } += $count;
65 $checked = 1 if $count > 10;
66 </pre>
67 </div>
68 % if ( my $out = stash('out') ) {
69 <pre class=debug><%= dumper $out %></pre>
70 % }
71 <textarea name=code style="width: 100%">
72 <%= param('code') %>
73 </textarea>
74 <input type=submit>
75 </form>
76
77 % if ( $#$facet_names < 5000 ) {
78 <script type="text/javascript" src="/facet_graph.js"></script>
79 % }
80 <script type="text/javascript">
81 $(document).ready( function(){
82         console.debug('check alert');
83         var a = $('.alert');
84         if ( a.length ) {
85                 $('.middle').html( a.html() );
86         }
87 });
88 </script>
89
90 % if ( $#$facet_names < 100 ) {
91 <pre class=debug><%#= dumper $facet %></pre>
92 % }
93