Nick Clemens
14e6375637
This patch removes the constraint of only passing 5 facets to the template unless the list is expanded, in fact, it removes the 'expanded' attribute from Search.pm Now that all facets are passed to page it adds a 'show more' link at the bottom of lists and allows user to expand or collapse any facet set without reloading page. Updated tests included. To test: 1 - Perform an OPAC search that returns more than 5 of any given facet type 2 - Click the "Show more" link on the facets and see that the search is reloaded 3 - Apply patch 4 - Repeat search 5 - Note that you can click "Show more" without reloading page 6 - Test that page load is not greatly affected 7 - Ensure that all facet links function normally 8 - Ensure that facets are the same a prior to patch 9 - Repeat for staff client 10 - Prove t/Search.t NOTE: This patch makes it much easier to see that there is an existing issue with marking the "active" facet. Ending punctuation seems to confuse the matcher. Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
68 lines
3.8 KiB
HTML
68 lines
3.8 KiB
HTML
[% USE raw %]
|
|
[% USE AuthorisedValues %]
|
|
[% USE Languages %]
|
|
[% IF ( opacfacets ) %]
|
|
[% IF ( facets_loop ) %]
|
|
<div id="search-facets">
|
|
<h4>Refine your search</h4>
|
|
<ul>
|
|
<li id="availability_facet">Availability<ul><li>[% IF ( available ) %]<strong>Showing only available items</strong></li><li><a href="/cgi-bin/koha/catalogue/search.pl?[% query_cgi | $raw %][% limit_cgi_not_availablity | uri %][% IF ( sort_by ) %]&sort_by=[% sort_by | uri %][% END %]">Show all items</a>[% ELSE %]<a href="/cgi-bin/koha/catalogue/search.pl?[% query_cgi | $raw %][% limit_cgi | $raw %][% IF ( sort_by ) %]&sort_by=[% sort_by | uri %][% END %]&limit=available">Limit to currently available items</a>[% END %]</li></ul>
|
|
[% IF ( related ) %] <li>(related searches: [% FOREACH relate IN related %][% relate.related_search | html %][% END %])</li>[% END %]
|
|
</li>
|
|
|
|
[% FOREACH facets_loo IN facets_loop %]
|
|
[% IF facets_loo.facets.size > 0 %]
|
|
<li id="[% facets_loo.type_id | html %]">
|
|
[% facets_loo.type_label | html %]
|
|
[% IF facets_loo.type_label_Authors %]<span id="facet-authors">Authors</span>[% END %]
|
|
[% IF facets_loo.type_label_Titles %]<span id="facet-titles">Titles</span>[% END %]
|
|
[% IF facets_loo.type_label_Topics %]<span id="facet-topics">Topics</span>[% END %]
|
|
[% IF facets_loo.type_label_Places %]<span id="facet-places">Places</span>[% END %]
|
|
[% IF facets_loo.type_label_Series %]<span id="facet-series">Series</span>[% END %]
|
|
[% IF facets_loo.type_label_ItemTypes %]<span id="facet-itemtypes">Item types</span>[% END %]
|
|
[% IF ( facets_loo.type_label_HomeLibrary ) %]<span id="facet-home-libraries">Home libraries</span>[% END %]
|
|
[% IF ( facets_loo.type_label_HoldingLibrary ) %]<span id="facet-holding-libraries">Holding libraries</span>[% END %]
|
|
[% IF facets_loo.type_label_Location %]<span id="facet-locations">Locations</span>[% END %]
|
|
[% IF facets_loo.type_label_CollectionCodes %]<span id="facet-collections">Collections</span>[% END %]
|
|
[% IF facets_loo.type_label_Language %]<span id="facet-languages">Languages</span>[% END %]
|
|
<ul>
|
|
[% SET url = "/cgi-bin/koha/catalogue/search.pl?" _ query_cgi _ limit_cgi %]
|
|
[% IF ( sort_by ) %]
|
|
[% url = BLOCK %][% url | $raw %][% "&sort_by=" _ sort_by | url %][% END %]
|
|
[% END %]
|
|
[% FOREACH facet IN facets_loo.facets %]
|
|
[% IF facets_loo.type_label_CollectionCodes %][% SET facet.facet_label_value = AuthorisedValues.GetByCode('CCODE',facet.facet_label_value,0) || facet.facet_label_value %][% END %]
|
|
[% IF facets_loo.type_label_Language %][% SET facet.facet_label_value = Languages.GetByISOCode(lang,facet.facet_label_value) || facet.facet_label_value %][% END %]
|
|
[% IF loop.count > 5 && !facet.active %]
|
|
<li class="collapsible-facet" style="display:none">
|
|
[% ELSE %]
|
|
<li>
|
|
[% END %]
|
|
[% IF facet.active %]
|
|
[% local_url = BLOCK %][% url | $raw %][% "&nolimit=" _ facet.type_link_value _ ":" _ facet.facet_link_value | url %][% END %]
|
|
<span class="facet-label">[% facet.facet_label_value | html %]</span>
|
|
[<a href="[% local_url | $raw %]" title="Remove facet [% facet.facet_link_value | html %]">x</a>]
|
|
[% ELSE %]
|
|
[% local_url = BLOCK %][% url | $raw %][% "&limit=" _ facet.type_link_value _ ":" _ facet.facet_link_value | url %][% END %]
|
|
<span class="facet-label"><a href="[% local_url | $raw %]" title="[% facet.facet_title_value | html %]">[% facet.facet_label_value | html %]</a></span>
|
|
[% IF ( displayFacetCount ) %]
|
|
<span class="facet-count"> ([% facet.facet_count | html %])</span>
|
|
[% END %]
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% IF facets_loo.facets.size > 5 %]
|
|
<li class="moretoggle">
|
|
Show more
|
|
</li>
|
|
<li class="moretoggle" style="display:none">
|
|
Show less
|
|
</li>
|
|
[% END %]
|
|
</ul></li>
|
|
[% END %]
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
[% END %]
|
|
[% END %]
|