+[% USE raw %]
+[% USE Asset %]
+[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Z39.50 search results</title>
-[% INCLUDE 'greybox.inc' %]
+[% IF ( opsearch ) %]
+ <title>Koha › Z39.50 authority search points</title>
+[% ELSE %]
+ <title>Koha › Z39.50 authority search results</title>
+ [% END %]
[% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
-<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
-[% INCLUDE 'datatables.inc' %]
-<script type="text/javascript">
-//<![CDATA[
-function Import(Breeding,AuthType) {
- opener.document.location="../authorities/authorities.pl?breedingid="+Breeding+"&authtypecode="+AuthType;
- window.close();
- return false;
-}
-
-function closemenu(){
- $(".linktools").hide();
- $("tr").removeClass("selected");
-}
-
-$(document).ready(function(){
- $("#CheckAll").click(function(){
- $(".checkboxed").checkCheckboxes();
- return false;
- });
- $("#CheckNone").click(function(){
- $(".checkboxed").unCheckCheckboxes();
- return false;
- });
- $("#resultst").dataTable($.extend(true, {}, dataTablesDefaults, {
- "sDom": 't',
- "aoColumnDefs": [
- { "aTargets": [ -1,-2,-3 ], "bSortable": false, "bSearchable": false },
- ],
- "aaSorting": [[ 1, "asc" ]],
- "bPaginate": false
- }));
- /* Inline edit/delete links */
- $("td").click(function(event){
- var $tgt = $(event.target);
- var row = $(this).parent();
- $(".linktools").hide();
- $("tr").removeClass("selected");
- row.addClass("selected");
- if($tgt.is("a")||$tgt.is(":nth-child(4)")||$tgt.is(":nth-child(5)")){
- //Don't show inline links for cells containing links of their own.
- } else {
- var position = $(this).offset();
- var top = position.top+5;
- var left = position.left+5;
- $(".linktools",row).show().css("position","absolute").css("top",top).css("left",left);
- }
- });
- $("form[name='f']").submit(function(){
- if ($('input[type=checkbox]').filter(':checked').length == 0) {
- alert(_("Please choose at least one Z39.50 target"));
- return false;
- } else
- return true;
- });
-});
-
-[% IF ( total_pages ) %]
-function validate_goto_page(){
- var page = $('#goto_page').val();
- if(isNaN(page)) {
- alert(_("The page entered is not a number."));
- return false;
- }
- else if(page < 1 || page > [% total_pages %] ) {
- alert(_("The page should be a number between 1 and %s.").format([% total_pages %]));
- return false;
- }
- else {
- return true;
- }
-}
-[% END %]
-
-//]]>
-</script>
+[% Asset.css("css/datatables.css") | $raw %]
<style type="text/css">
-.linktools { background-color:#FFF;border-top:1px solid #DDD; border-left: 1px solid #DDD; border-right: 1px solid #666; border-bottom:1px solid #666;display: none; white-space: nowrap;}
-.linktools a { font-size : 85%; text-decoration:none; padding:.3em;;background-color:#FFF; display:block;float:left;border-right:1px solid #DDD;}
-.linktools a:hover { background-color:#EEE;color:#CC3300;border-right:1px solid #CCC;}
-tr.selected { background-color : #FFFFCC; } tr.selected td { background-color : transparent; }
+ #marcPreview { width : 90%; top: 5%; } .modal-body { max-height: 380px; } .modal-header { padding: 0 14px; } @media (max-width: 767px) { #marcPreview { margin: 0; width : auto; } }
</style>
+<body id="cat_z3950_auth_search" class="cat">
+ <div class="container-fluid">
+
[% IF ( opsearch ) %]
- <style type="text/css">
- #custom-doc { width:53em;*width:51.72em;min-width:689px; margin:auto; text-align:left; }
- </style>
- </head>
- <body id="cat_z3950_auth_search" class="cat">
- <div id="custom-doc" class="yui-t7">
- [% ELSE %]
- </head>
- <body style="padding:.5em;">
- <div>
- [% END %]
- <div id="bd">
- [% IF ( opsearch ) %]
- <h2>Z39.50 Authority search points</h2>
+ <h2>Z39.50 authority search points</h2>
<form method="post" action="z3950_auth_search.pl" name="f" class="checkboxed">
<input type="hidden" name="op" id="op" value="do_search" />
- <div class="yui-g">
- <div class="yui-u first">
+ <input type="hidden" name="authid" value="[% authid | html %]" />
+ <div class="row">
+ <div class="col-xs-6">
<fieldset class="rows">
<ol>
<li><label for="srchany">Keyword (any): </label> <input type="text" id="srchany" name="srchany" value="" /></li>
+ <li><label for="controlnumber">Control number: </label> <input type="text" id="controlnumber" name="controlnumber" value="" /></li>
<li><label for="nameany">Name (any): </label> <input type="text" id="nameany" name="nameany" value="" /></li>
<li><label for="authorany">Author (any): </label> <input type="text" id="authorany" name="authorany" value="" /></li>
- <li><label for="authorpersonal">Author (personal): </label> <input type="text" id="authorpersonal" name="authorpersonal" value="" /></li>
- <li><label for="authorcorp">Author (corporate): </label> <input type="text" id="authorcorp" name="authorcorp" value="" /></li>
- <li><label for="authormeetingcon">Author (meeting/conference): </label> <input type="text" id="authormeetingcon" name="authormeetingcon" value="" /></li>
- <li><label for="subject">Subject heading: </label> <input type="text" id="subject" name="subject" value="" /></li>
- <li><label for="subjectsubdiv">Subject sub-division: </label> <input type="text" id="subjectsubdiv" name="subjectsubdiv" value="" /></li>
- <li><label for="title">Title (any): </label> <input type="text" id="title" name="title" value="[% title |html %]" /></li>
- <li><label for="uniformtitle">Title (uniform): </label> <input type="text" id="uniformtitle" name="uniformtitle" value="[% uniformtitle |html %]" /></li>
+ <li><label for="authorpersonal">Author (personal): </label> <input type="text" id="authorpersonal" name="authorpersonal" value="[% authorpersonal | html %]" /></li>
+ <li><label for="authorcorp">Author (corporate): </label> <input type="text" id="authorcorp" name="authorcorp" value="[% authorcorp | html %]" /></li>
+ <li><label for="authormeetingcon">Author (meeting / conference): </label> <input type="text" id="authormeetingcon" name="authormeetingcon" value="[% authormeetingcon | html %]" /></li>
</ol>
</fieldset>
</div>
- <div class="yui-g">
- <h2>Search targets <span style="display: inline; font-size: 70%; padding-left: 1em;"><span class="checkall"><a id="CheckAll" href="#">Select all</a></span><span class="clearall"><a id="CheckNone" href="#">Clear all</a></span></span></h2>
- [% FOREACH serverloo IN serverloop %]
- <p>
- [% IF ( serverloo.checked ) %]
- <input type="checkbox" name="id" id="z3950_[% serverloo.id %]" value="[% serverloo.id %]" checked="checked" />
- [% ELSE %]
- <input type="checkbox" name="id" id="z3950_[% serverloo.id %]" value="[% serverloo.id %]" />
- [% END %]
- <label for="z3950_[% serverloo.id %]">[% serverloo.servername %]</label>
- </p>
- [% END %]
- </div>
- <fieldset class="action"><input type="submit" class="submit" value="Search" onclick="cursor :'wait'"/> <a class="cancel close" href="#">Cancel</a></fieldset>
- </form>
-
+ <div class="col-xs-6">
+ <div class="row">
+ <fieldset class="rows">
+ <ol>
+ <li><label for="subject">Subject heading: </label> <input type="text" id="subject" name="subject" value="" /></li>
+ <li><label for="subjectsubdiv">Subject sub-division: </label> <input type="text" id="subjectsubdiv" name="subjectsubdiv" value="" /></li>
+ <li><label for="title">Title (any): </label> <input type="text" id="title" name="title" value="[% title | html %]" /></li>
+ <li><label for="uniformtitle">Title (uniform): </label> <input type="text" id="uniformtitle" name="uniformtitle" value="[% uniformtitle | html %]" /></li>
+ <li><a id="resetZ3950Search" href="#"><i class="fa fa-trash"></i> Clear search form</a></li>
+ </ol>
+ </fieldset>
+ </div>
+ <div class="row">
+ <h2>Search targets</h2>
+ <div id="z3950_search_targets_auth">
+ <span class="z3950checks"><span class="checkall"><a id="CheckAll" href="#"><i class="fa fa-check"></i> Select all</a></span> | <span class="clearall"><a id="CheckNone" href="#"><i class="fa fa-remove"></i> Clear all</a></span></span>
+ [% FOREACH serverloo IN serverloop %]
+ <p>
+ [% IF ( serverloo.checked ) %]
+ <input type="checkbox" name="id" id="z3950_[% serverloo.id | html %]" value="[% serverloo.id | html %]" checked="checked" />
+ [% ELSE %]
+ <input type="checkbox" name="id" id="z3950_[% serverloo.id | html %]" value="[% serverloo.id | html %]" />
+ [% END %]
+ <label for="z3950_[% serverloo.id | html %]">[% serverloo.servername | html %]</label>
+ </p>
+ [% END %]
+ </div>
+ </div>
+ </div>
+ </div>
+ <nav class="navbar navbar-default navbar-fixed-bottom">
+ <div class="container-fluid">
+ <fieldset class="action"><input type="submit" class="submit" value="Search" /> <a class="cancel close" href="#">Cancel</a></fieldset>
+ </div>
+ </nav>
+ </form>
[% ELSE %]
- <h2>Results for Authority Records</h2>
+ <h2>Results for authority records</h2>
[% IF ( breeding_loop ) %]
<table id="resultst">
<thead> <tr>
<th>Server</th>
<th>Heading</th>
<th>Authority Type</th>
- <th>MARC</th>
- <!-- <th>Card</th> -->
- <th> </th>
+ <th>Actions</th>
</tr></thead>
<tbody>[% FOREACH breeding_loo IN breeding_loop %]
[% IF ( breeding_loo.breedingid ) %]
- <tr id="row[% breeding_loo.breedingid %]">
- <td>[% breeding_loo.server %] <div class="linktools"><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.breedingid %]" rel="gb_page_center[600,500]">Preview MARC</a> <a href="#" onclick="Import([% breeding_loo.breedingid %],'[% breeding_loo.heading_code %]'); return false">Import</a><a href="#" onclick="closemenu();return false;" title="Close this menu"> X </a></div> </td>
- <td>[% breeding_loo.heading %]</td>
- <td>[% breeding_loo.heading_code %]</td>
- <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.breedingid %]" title="MARC" rel="gb_page_center[600,500]">MARC</a></td>
- <!-- <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&importid=[% breeding_loo.breedingid %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td> -->
- <td><a href="#" onclick="Import([% breeding_loo.breedingid %],'[% breeding_loo.heading_code %]'); return false">Import</a></td>
+ <tr id="row[% breeding_loo.breedingid | html %]">
+ <td>[% breeding_loo.server | html %]</td>
+ <td>[% breeding_loo.heading | html %]</td>
+ <td>[% breeding_loo.heading_code | html %]</td>
+ <td class="actions">
+ <div class="dropdown">
+ <a class="btn btn-default btn-xs dropdown-toggle" id="cataloguesearchactions[% breeding_loo.breedingid | html %]" role="button" data-toggle="dropdown" href="#">
+ Actions <b class="caret"></b>
+ </a>
+ <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="cataloguesearchactions[% breeding_loo.breedingid | html %]">
+ <li><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.breedingid | uri %]" class="previewMARC"><i class="fa fa-eye"></i> MARC preview</a></li>
+ <li><a href="#" class="import_record" data-breedingid="[% breeding_loo.breedingid | html %]" data-heading_code="[% breeding_loo.heading_code | html %]" data-authid="[% breeding_loo.authid | html %]"><i class="fa fa-download"></i> Import</a></li>
+ </ul>
+ </div>
+ </td>
</tr>
[% END %]
[% END %]</tbody>
</table>
+ <div id="marcPreview" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="marcPreviewLabel" aria-hidden="true">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
+ <h3 id="marcPreviewLabel">MARC preview</h3>
+ </div>
+ <div class="modal-body">
+ <div id="loading"> <img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /> Loading </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
<form method="post" action="z3950_auth_search.pl" id="page_form" name="page_form" class="checkboxed">
<input type="hidden" name="op" id="op" value="do_search" />
- <input type="hidden" name="current_page" id="current_page" value="[% current_page %]" />
- <input type="hidden" id="nameany" name="nameany" value="[% nameany %]" />
- <input type="hidden" id="authorany" name="authorany" value="[% authorany %]" />
- <input type="hidden" id="authorcorp" name="authorcorp" value="[% authorcorp %]" />
- <input type="hidden" id="authorpersonal" name="authorpersonal" value="[% authorpersonal %]" />
- <input type="hidden" id="authormeetingcon" name="authormeetingcon" value="[% authormeetingcon %]" />
- <input type="hidden" id="title" name="title" value="[% title %]" />
- <input type="hidden" id="uniformtitle" name="uniformtitle" value="[% uniformtitle %]" />
- <input type="hidden" id="subject" name="subject" value="[% subject %]" />
- <input type="hidden" id="subjectsubdiv" name="subjectsubdiv" value="[% subjectsubdiv %]" />
- <input type="hidden" id="heading" name="heading" value="[% heading %]" />
- <input type="hidden" id="srchany" name="srchany" value="[% srchany %]" />
+ <input type="hidden" name="current_page" id="current_page" value="[% current_page | html %]" />
+ <input type="hidden" id="nameany" name="nameany" value="[% nameany | html %]" />
+ <input type="hidden" id="authorany" name="authorany" value="[% authorany | html %]" />
+ <input type="hidden" id="authorcorp" name="authorcorp" value="[% authorcorp | html %]" />
+ <input type="hidden" id="authorpersonal" name="authorpersonal" value="[% authorpersonal | html %]" />
+ <input type="hidden" id="authormeetingcon" name="authormeetingcon" value="[% authormeetingcon | html %]" />
+ <input type="hidden" id="title" name="title" value="[% title | html %]" />
+ <input type="hidden" id="uniformtitle" name="uniformtitle" value="[% uniformtitle | html %]" />
+ <input type="hidden" id="subject" name="subject" value="[% subject | html %]" />
+ <input type="hidden" id="subjectsubdiv" name="subjectsubdiv" value="[% subjectsubdiv | html %]" />
+ <input type="hidden" id="heading" name="heading" value="[% heading | html %]" />
+ <input type="hidden" id="srchany" name="srchany" value="[% srchany | html %]" />
+ <input type="hidden" name="authid" value="[% authid | html %]" />
[% FOREACH server IN servers %]
- <input type="hidden" name="id" id="z3950_[% server.id %]" value="[% server.id %]" />
+ <input type="hidden" name="id" id="z3950_[% server.id | html %]" value="[% server.id | html %]" />
[% END %]
[% IF ( show_prevbutton ) %]
- <input type="button" name="changepage_prev" value="Previous Page" onclick="$('#current_page').val([% current_page %]-1);$('#page_form').submit();" />
+ <input type="button" name="changepage_prev" value="Previous page" data-currentpage="[% current_page | html %]" />
[% END %]
- Page [% current_page %] / [% total_pages %]
+ Page [% current_page | html %] / [% total_pages | html %]
[% IF ( show_nextbutton ) %]
- <input type="button" name="changepage_next" value="Next Page" onclick="$('#current_page').val([% current_page %]+1);$('#page_form').submit();" />
+ <input type="button" name="changepage_next" value="Next page" data-currentpage="[% current_page | html %]" />
[% END %]
- <br />Go to page : <input id="goto_page" name="goto_page" value="[% current_page %]" size="4" /><input type="submit" name="changepage_goto" onclick="return validate_goto_page();" value="Go" />
+ <br />Go to page : <input id="goto_page" name="goto_page" value="[% current_page | html %]" size="4" type="text" /><input type="submit" name="changepage_goto" value="Go" />
</form>
-<p><form method="get" action="/cgi-bin/koha/cataloguing/z3950_auth_search.pl"><input type="submit" value="Try Another Search"/></form></p>
+<p><form method="get" action="/cgi-bin/koha/cataloguing/z3950_auth_search.pl"><input type="hidden" name="authid" value="[% authid | html %]" /><input type="submit" value="Try another search"/></form></p>
[% ELSE %]
[% IF ( errconn ) %]
<div class="dialog alert">
<ul>
[% FOREACH errcon IN errconn %]
- [% IF ( errcon.error == '10000' ) %]<li>Connection failed to [% errcon.server %]</li>
- [% ELSIF ( errcon.error == '10007' ) %]<li>Connection timeout to [% errcon.server %]</li>[% END %]
+ [% IF ( errcon.error == '10000' ) %]<li>Connection failed to [% errcon.server | html %]</li>
+ [% ELSIF ( errcon.error == '10007' ) %]<li>Connection timeout to [% errcon.server | html %]</li>[% END %]
[% END %]
</ul>
</div>
[% END %]
<div class="dialog message">Nothing found.</div>
- <p><form method="get" action="/cgi-bin/koha/cataloguing/z3950_auth_search.pl"><input type="submit" value="Try Another Search"/></form></p>
+ <p><form method="get" action="/cgi-bin/koha/cataloguing/z3950_auth_search.pl"><input type="hidden" name="authid" value="[% authid | html %]" /><input type="submit" value="Try another search"/></form></p>
[% END %]
[% END %]
-</div>
-</div>
-[% IF ( numberpending ) %]<h3 align="center">Still [% numberpending %] servers to search</h3>[% END %]
+[% IF ( numberpending ) %]<h3 align="center">Still [% numberpending | html %] servers to search</h3>[% END %]
+
+[% MACRO jsinclude BLOCK %]
+ [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
+ [% INCLUDE 'datatables.inc' %]
+ <script type="text/javascript">
+ $(document).ready(function(){
+
+ $(".dropdown").on("hidden.bs.dropdown", function(){
+ // Reset menu styles so that a click on the
+ // original dropdown button toggle works correctly
+ $(".dropdown").css("position","absolute");
+ $(".dropdown-menu").css({
+ "top" : "100%",
+ "left" : "auto",
+ "right" : 0
+ });
+ });
+
+ $("#resultst").dataTable($.extend(true, {}, dataTablesDefaults, {
+ "sDom": 't',
+ "aoColumnDefs": [
+ { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
+ ],
+ "aaSorting": [[ 1, "asc" ]],
+ "bPaginate": false
+ }));
+
+ /* Display actions menu anywhere the table is clicked */
+ $("td").click(function(event){
+ var tgt = $(event.target);
+ var row = $(this).parent();
+ var rowid = row.attr("id");
+ $("tr").removeClass("highlighted-row");
+ row.addClass("highlighted-row");
+ $(".dropdown").removeClass("open");
+ if(tgt.is("a")||tgt.is(":nth-child(8)")){
+ // Don't show inline links for cells containing links of their own.
+ } else {
+ event.stopPropagation();
+ var dropdown = $(".dropdown", row);
+ dropdown.addClass("open");
+ var position = $(this).offset();
+ var top = position.top + 5;
+ var left = position.left + 5;
+ dropdown.css("position","unset");
+ $(".dropdown-menu", row).css({
+ "top" : top,
+ "left" : left,
+ "right" : "unset"
+ });
+
+ }
+ });
+
+ });
+ </script>
+ [% INCLUDE 'z3950_search.inc' %]
+ [% Asset.js("js/z3950_search.js") | $raw %]
+[% END %]
-</body>
-</html>
+[% INCLUDE 'intranet-bottom.inc' popup_window=1 %]