Koha/koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc
Fridolyn SOMERS 85642ededa Bug 7484: keep selected values when changing search type on authority search form
1) I'm on the "Search authorities" tab. I select an authority type,
   then change the active tab. The type change is lost.
2) I'm on a tab and type a search pattern, then change tab, the string
   is lost.

This behaviour is logical, given the fact that we're using tabs, but it
would be more practical to keep the typed informations when the user
changes the search mode.

This patch add a few JQuery code to synchronise inputs between all
tabbed authorities search forms.

Test plan :
- Go to Authorities home page : cgi-bin/koha/authorities/authorities-home.pl
- In toolbar, "Search main heading" is selected
- Change all inputs : authotity type, operator, term, and sort order
- Click on "Search all headings" tab
=>  Inputs are the same has previous tab
- Click on "Keyword search" tab
=>  Inputs are the same has previous tab

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Amended patch: Explicitly declare 2 new variables used.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Works as described, Firebug doesn't show any problems with
the Javascript.
Could be useful for other tabbed searches like the start page
as well.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-11-27 18:30:35 +00:00

199 lines
8.8 KiB
HTML

<div class="gradient">
<h1 id="logo"><a href="/cgi-bin/koha/mainpage.pl">[% LibraryName %]</a></h1>
<!-- Begin Authorities Resident Search Box -->
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
var searchType = '[% marclist %]';
if (searchType) {
if ('mainentry' == searchType) {
$("#header_search").tabs( "option", "selected", 0 );
} else if ('match' == searchType) {
$("#header_search").tabs( "option", "selected", 1 );
} else if ('all' == searchType) {
$("#header_search").tabs( "option", "selected", 2 );
}
}
$("#header_search input[type='text'], #header_search select").change(function() {
var myname = $(this).attr("name");
var myval = $(this).val();
$("#header_search [name='" + myname + "']").val(myval);
});
});
//]]>
</script>
<div id="header_search" class="residentsearch">
<div id="main_heading" class="residentsearch">
<p class="tip">Enter authorized heading:</p>
<form action="/cgi-bin/koha/authorities/authorities-home.pl" method="get">
<input type="hidden" name="op" value="do_search" />
<input type="hidden" name="type" value="intranet" />
<select name="authtypecode">
[% IF (marcflavour == 'UNIMARC' ) %]<option value="">All authority types</option>[% END %]
[% FOREACH authtypesloo IN authtypesloop %]
[% IF ( authtypesloo.selected ) %]
<option value="[% authtypesloo.value %]" selected="selected">[% authtypesloo.authtypetext %]</option>
[% ELSE %]
<option value="[% authtypesloo.value %]">[% authtypesloo.authtypetext %]</option>
[% END %]
[% END %]
</select>
<input type="hidden" name="marclist" value="mainentry" />
<input type="hidden" name="and_or" value="and" />
<input type="hidden" name="excluding" value="" />
<select name="operator">
[% IF ( operator == 'contains' ) %]
<option value="contains" selected="selected">contains</option>
[% ELSE %]
<option value="contains">contains</option>
[% END %]
[% IF ( operator == 'start' ) %]
<option value="start" selected="selected">starts with</option>
[% ELSE %]
<option value="start">starts with</option>
[% END %]
[% IF ( operator == 'is' ) %]
<option value="is" selected="selected">is exactly</option>
[% ELSE %]
<option value="is">is exactly</option>
[% END %]
</select>
<input id="value_mainentry" type="text" name="value" value="[% value %]" />
<select name="orderby">
[% IF ( orderby == 'HeadingAsc' ) %]
<option value="HeadingAsc" selected="selected">Heading A-Z</option>
[% ELSE %]
<option value="HeadingAsc">Heading A-Z</option>
[% END %]
[% IF ( orderby == 'HeadingDsc' ) %]
<option value="HeadingDsc" selected="selected">Heading Z-A</option>
[% ELSE %]
<option value="HeadingDsc">Heading Z-A</option>
[% END %]
[% IF ( orderby == '' && op ) %]
<option value="" selected="selected">None</option>
[% ELSE %]
<option value="">None</option>
[% END %]
</select>
<input type="submit" class="submit" value="Submit" />
</form>
</div>
<div id="matchheading_search" class="residentsearch">
<p class="tip">Enter any heading:</p>
<form action="/cgi-bin/koha/authorities/authorities-home.pl" method="get">
<input type="hidden" name="op" value="do_search" />
<input type="hidden" name="type" value="intranet" />
<select name="authtypecode">
[% IF (marcflavour == 'UNIMARC' ) %]<option value="">All authority types</option>[% END %]
[% FOREACH authtypesloo IN authtypesloop %]
[% IF ( authtypesloo.selected ) %]
<option value="[% authtypesloo.value %]" selected="selected">[% authtypesloo.authtypetext %]</option>
[% ELSE %]
<option value="[% authtypesloo.value %]">[% authtypesloo.authtypetext %]</option>
[% END %]
[% END %]
</select>
<input type="hidden" name="marclist" value="match" />
<select name="operator">
[% IF ( operator == 'contains' ) %]
<option value="contains" selected="selected">contains</option>
[% ELSE %]
<option value="contains">contains</option>
[% END %]
[% IF ( operator == 'start' ) %]
<option value="start" selected="selected">starts with</option>
[% ELSE %]
<option value="start">starts with</option>
[% END %]
[% IF ( operator == 'is' ) %]
<option value="is" selected="selected">is exactly</option>
[% ELSE %]
<option value="is">is exactly</option>
[% END %]
</select>
<input id="value_matchheading" type="text" name="value" value="[% value %]" />
<select name="orderby">
[% IF ( orderby == 'HeadingAsc' ) %]
<option value="HeadingAsc" selected="selected">Heading A-Z</option>
[% ELSE %]
<option value="HeadingAsc">Heading A-Z</option>
[% END %]
[% IF ( orderby == 'HeadingDsc' ) %]
<option value="HeadingDsc" selected="selected">Heading Z-A</option>
[% ELSE %]
<option value="HeadingDsc">Heading Z-A</option>
[% END %]
[% IF ( orderby == '' && op ) %]
<option value="" selected="selected">None</option>
[% ELSE %]
<option value="">None</option>
[% END %]
</select>
<input type="submit" class="submit" value="Submit" />
</form>
</div>
<div id="all_headings" class="residentsearch">
<p class="tip">Enter any authority field:</p>
<form action="/cgi-bin/koha/authorities/authorities-home.pl" method="get">
<input type="hidden" name="op" value="do_search" />
<input type="hidden" name="type" value="intranet" />
<select name="authtypecode">
[% IF (marcflavour == 'UNIMARC' ) %]<option value="">All authority types</option>[% END %]
[% FOREACH authtypesloo IN authtypesloop %]
[% IF ( authtypesloo.selected ) %]
<option value="[% authtypesloo.value %]" selected="selected">[% authtypesloo.authtypetext %]</option>
[% ELSE %]
<option value="[% authtypesloo.value %]">[% authtypesloo.authtypetext %]</option>
[% END %]
[% END %]
</select>
<input type="hidden" name="marclist" value="all" />
<input type="hidden" name="and_or" value="and" />
<input type="hidden" name="excluding" value="" />
<select name="operator">
[% IF ( operator == 'contains' ) %]
<option value="contains" selected="selected">contains</option>
[% ELSE %]
<option value="contains">contains</option>
[% END %]
[% IF ( operator == 'start' ) %]
<option value="start" selected="selected">starts with</option>
[% ELSE %]
<option value="start">starts with</option>
[% END %]
[% IF ( operator == 'is' ) %]
<option value="is" selected="selected">is exactly</option>
[% ELSE %]
<option value="is">is exactly</option>
[% END %]
</select>
<input id="value_anywhere" type="text" name="value" value="[% value %]" />
<select name="orderby">
[% IF ( orderby == 'HeadingAsc' ) %]
<option value="HeadingAsc" selected="selected">Heading A-Z</option>
[% ELSE %]
<option value="HeadingAsc">Heading A-Z</option>
[% END %]
[% IF ( orderby == 'HeadingDsc' ) %]
<option value="HeadingDsc" selected="selected">Heading Z-A</option>
[% ELSE %]
<option value="HeadingDsc">Heading Z-A</option>
[% END %]
[% IF ( orderby == '' && op ) %]
<option value="" selected="selected">None</option>
[% ELSE %]
<option value="">None</option>
[% END %]
</select>
<input type="submit" class="submit" value="Submit" />
</form>
</div>
<ul>
<li><a href="#main_heading">Search main heading</a></li>
<li><a href="#matchheading_search">Search all headings</a></li>
<li><a href="#all_headings">Keyword search</a></li>
</ul>
</div><!-- /header_search -->
</div><!-- /gradient -->
<!-- End Authorities Resident Search Box -->