load only MAX_FACETS facets, 10000 by default
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 6 Jun 2010 15:46:20 +0000 (17:46 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 6 Jun 2010 15:51:37 +0000 (17:51 +0200)
This will help in keeping memory usage in browser under 100Mb and
page load time resonable.

public/mojo_facets.css
templates/data/facet.html.ep

index b8fc92b..f075ae6 100644 (file)
@@ -201,3 +201,10 @@ tr.hidden {
        display: none;
 }
 
+.alert {
+       border: 0.3em dashed #f00;
+       background: #ffc;
+       padding: 1em;
+       margin: 1em;
+       text-align: center;
+}
index b14bea3..49c61ce 100644 (file)
 <%= include 'sorting' %>
 
 <ul id=facet>
+% my $max_facets = $ENV{MAX_FACETS} || 10000;
+% my $facet_nr  = 0;
 % foreach my $n ( @$facet_names ) {
+%  if ( $facet_nr++ > $max_facets ) {
+<div class=alert>
+To keep browser memory usage at sane level, only <%= $max_facets %> facets are loaded to browser
+</div>
+%    last;
+%  }
 <li>
 <label>
 <input type=checkbox name="filter_vals" value="<%= $n %>" <%= $checked->{$n} && defined $facet->{$n} ? 'checked' : '' %>>