diff --git a/css/style.css b/css/style.css index 75ce7a0..23ca1f2 100644 --- a/css/style.css +++ b/css/style.css @@ -31,7 +31,7 @@ body { text-align: center; } -/* specific additions for this doc page */ +/* specific additions for the example index page */ .nav-logo img { margin-top: 4px; } diff --git a/jquery.facetview.js b/jquery.facetview.js index cade4c4..f712e2a 100644 --- a/jquery.facetview.js +++ b/jquery.facetview.js @@ -131,13 +131,13 @@ var showfiltervals = function(event) { event.preventDefault(); if ( $(this).hasClass('facetview_open') ) { + $(this).children('i').replaceWith('') $(this).removeClass('facetview_open'); $('#facetview_' + $(this).attr('rel') ).children().hide(); - $('#facetview_freetext_' + $(this).attr('rel') ).parent().hide(); } else { + $(this).children('i').replaceWith('') $(this).addClass('facetview_open'); $('#facetview_' + $(this).attr('rel') ).children().show(); - $('#facetview_freetext_' + $(this).attr('rel') ).parent().show(); } } @@ -162,9 +162,34 @@ } else if ( $(this).hasClass('facetview_rterm') ) { options.facets[which]['order'] = 'reverse_term' } - dosearch() + dosearch() + if ( !$(this).parent().parent().siblings('.facetview_filtershow').hasClass('facetview_open') ) { + $(this).parent().parent().siblings('.facetview_filtershow').trigger('click') + } } + // adjust how many results are shown + var morefacetvals = function(event) { + event.preventDefault() + var morewhat = options.facets[ $(this).attr('rel') ] + if ('size' in morewhat ) { + var currentval = morewhat['size'] + } else { + var currentval = 10 + } + var newmore = prompt('Currently showing ' + currentval + + '. How many would you like instead?') + if (newmore) { + options.facets[ $(this).attr('rel') ]['size'] = parseInt(newmore) + $(this).html('show up to ' + newmore ) + dosearch() + if ( !$(this).parent().parent().siblings('.facetview_filtershow').hasClass('facetview_open') ) { + $(this).parent().parent().siblings('.facetview_filtershow').trigger('click') + } + } + } + + // pass a list of filters to be displayed var buildfilters = function() { var filters = options.facets; @@ -183,11 +208,19 @@
  • sort by term
  • \
  • sort reverse count
  • \
  • sort reverse term
  • \ +
  • \ +
  • show up to {{FILTER_HOWMANY}}
  • \ \ \ '; thefilters += _filterTmpl.replace(/{{FILTER_NAME}}/g, filters[idx]['field'].replace(/\./gi,'_')).replace(/{{FILTER_EXACT}}/g, filters[idx]['field']); + if ('size' in filters[idx] ) { + thefilters = thefilters.replace(/{{FILTER_HOWMANY}}/gi, filters[idx]['size']) + } else { + thefilters = thefilters.replace(/{{FILTER_HOWMANY}}/gi, 10) + } + thefilters = thefilters.replace(/{{FACET_IDX}}/gi,idx) if ('display' in filters[idx]) { thefilters = thefilters.replace(/{{FILTER_DISPLAY}}/g, filters[idx]['display']) } else { @@ -195,6 +228,7 @@ } } $('#facetview_filters').append(thefilters) + $('.facetview_morefacetvals').bind('click',morefacetvals) $('.facetview_sort').bind('click',sortfilters) $('.facetview_filtershow').bind('click',showfiltervals) } @@ -613,6 +647,7 @@ if (newhowmany) { options.paging.size = parseInt(newhowmany) options.paging.from = 0 + $('#facetview_howmany').html('results per page (' + options.paging.size + ')') dosearch() } } @@ -646,7 +681,7 @@ href="http://lucene.apache.org/java/2_9_1/queryparsersyntax.html"> \ learn more \
  • \ -
  • pagination: {{HOW_MANY}}
  • \ +
  • results per page ({{HOW_MANY}})
  • \ \ \
    \