Owen Leonard
7514dc897c
The DataTables plugin doesn't by default take multiple columns into account when sorting. The hold ratios report presents a situation where it makes sense to sort by default based on two columns: hold count and title, since there are likely to be many titles with the same hold count. This patch adds sorting by default on holds (descending) and title (ascending). It also modifies the configuration of the title sort to exclude articles when sorting. To test, view the hold ratios report. If necessary use the filter form to reduce the minimum hold ratio and generate more results. Confirm that the correct columns can be sorted. Note that by default one can manually trigger sorting on two columns by shift-clicking the second column header. Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
127 lines
4.3 KiB
Text
127 lines
4.3 KiB
Text
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Circulation › Hold ratios</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% INCLUDE 'calendar.inc' %]
|
|
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
|
|
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
|
|
[% INCLUDE 'datatables-strings.inc' %]
|
|
<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
$(document).ready(function() {
|
|
$(".ratiolimit").click(function () {
|
|
$("#ratio").val($(this).html());
|
|
});
|
|
$(".ratiolimit").hover(
|
|
function () { $(this).toggleClass("ulined") },
|
|
function () { $(this).toggleClass("ulined") }
|
|
);
|
|
$("#holdst").dataTable($.extend(true, {}, dataTablesDefaults, {
|
|
"aaSorting": [ [0,'desc'], [3,'asc'] ],
|
|
"aoColumnDefs": [
|
|
{ "aTargets": [ 8 ], "sType": "natural" }
|
|
],
|
|
"aoColumns": [
|
|
null,
|
|
null,
|
|
null,
|
|
{ "sType": "anti-the" },
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
],
|
|
"aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
|
|
"iDisplayLength": 20,
|
|
"sPaginationType": "four_button"
|
|
}));
|
|
});
|
|
//]]>
|
|
</script>
|
|
<style type="text/css">
|
|
.sql { display: none; }
|
|
.ulined { text-decoration: underline; }
|
|
.ratiolimit { color: blue; cursor: pointer; }
|
|
</style>
|
|
</head>
|
|
<body id="circ_reserveratios" class="circ">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'circ-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> › Hold ratios</div>
|
|
|
|
<div id="doc3" class="yui-t2">
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
<h1>Hold ratios to calculate items needed</h1>
|
|
<h3>Calculated on [% todaysdate %]. From [% from %]
|
|
to [% to %]</h3>
|
|
<p>These items have a hold ratio ≥ [% ratio %].</p>
|
|
<div class="sql">[% sql %]</div>
|
|
|
|
[% IF ( reserveloop ) %]
|
|
<table id="holdst">
|
|
<thead>
|
|
<tr>
|
|
<th>Holds</th>
|
|
<th>Items</th>
|
|
<th>Hold ratio</th>
|
|
<th>Title</th>
|
|
<th>Holding libraries</th>
|
|
<th>Location</th>
|
|
<th>Itype</th>
|
|
<th>Call numbers</th>
|
|
<th>Items needed</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH reserveloo IN reserveloop %]
|
|
<tr>
|
|
<td><p>[% reserveloo.reservecount %]</p></td>
|
|
<td><p>[% reserveloo.itemcount %]</p></td>
|
|
<td><p class="ratiolimit">[% reserveloo.thisratio %]</p></td>
|
|
<td> [% INCLUDE 'biblio-default-view.inc' biblionumber = reserveloo.biblionumber %][% reserveloo.title |html %] [% IF ( reserveloo.subtitle ) %][% FOREACH subtitl IN reserveloo.subtitle %][% subtitl.subfield %][% END %][% END %]</a>[% IF ( reserveloo.author ) %] by [% reserveloo.author %][% END %]
|
|
</td>
|
|
<td><p>[% reserveloo.listbranch %]</p></td>
|
|
<td><p>[% reserveloo.location %]</p></td>
|
|
<td><p>[% reserveloo.itype %]</p></td>
|
|
<td><p>[% reserveloo.listcall %]</p></td>
|
|
<td>[% IF ( reserveloo.thisratio_atleast1 ) %]<p><b>[% reserveloo.ratiocalc %] to order</b></p>[% END %]</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% ELSE %]
|
|
<b>No items found.</b>
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
<form action="/cgi-bin/koha/circ/reserveratios.pl" method="post" >
|
|
<fieldset class="brief">
|
|
<h4>Refine results:</h4>
|
|
<ol><li><label for="ratio">
|
|
Hold ratio:
|
|
</label>
|
|
<input type="text" size="5" id="ratio" name="ratio" value="[% ratio %]" /></li>
|
|
<li><label for="from">
|
|
Start date:
|
|
</label>
|
|
<input type="text" size="10" id="from" name="from" value="[% from %]" class="datepickerfrom" />
|
|
</li>
|
|
<li><label for="to">
|
|
End date:
|
|
</label>
|
|
<input size="10" id="to" name="to" value="[% to %]" type="text" class="datepickerto" />
|
|
</li></ol>
|
|
(inclusive)
|
|
|
|
<fieldset class="action"><input type="submit" value="Go" class="submit"/></fieldset>
|
|
</fieldset>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|