From cf0e13d669f8217e73042384ffbffb149f3b3983 Mon Sep 17 00:00:00 2001
From: Owen Leonard <oleonard@myacpl.org>
Date: Wed, 23 Jan 2013 10:57:09 -0500
Subject: [PATCH] Bug 9459 [Revised] Use DataTables on hold ratios report page
Content-Type: text/plain; charset="utf-8"

Replace the tablesorter plugin with the DataTables plugin on the
hold ratios report page.

To test, open the hold ratios report (Circulation -> Hold ratios).
Confirm that table sorting works correctly.

Revision adds correct pagination options and natural sort for 'items
needed' column.

Patch now depends on Bug 9431
(http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=9431) which
introduces the natural sort plugin.
---
 .../prog/en/modules/circ/reserveratios.tt          |   24 ++++++++++----------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt
index 33deaa9..164b0de 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt
@@ -2,15 +2,12 @@
 <title>Koha &rsaquo; Circulation &rsaquo; Hold ratios</title>
 [% INCLUDE 'doc-head-close.inc' %]
 [% INCLUDE 'calendar.inc' %]
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+<link rel="stylesheet" type="text/css" href="/intranet-tmpl/prog/en/css/datatables.css" />
+<script type="text/javascript" src="/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="/intranet-tmpl/prog/en/js/datatables.js"></script>
 <script type="text/javascript">
 //<![CDATA[
-$.tablesorter.addParser({
-    id: 'articles', 
-    is: function(s) {return false;  }, 
-    format: function(s) { return s.toLowerCase().replace(/^(the|an|a) /,''); }, 
-    type: 'text' 
-});
 	 $(document).ready(function() {
 	 	$("th a").hide();
 	 	$(".ratiolimit").click(function () {
@@ -20,11 +17,14 @@ $.tablesorter.addParser({
             function () { $(this).toggleClass("ulined") },
             function () { $(this).toggleClass("ulined") }
         );
-		$.tablesorter.defaults.widgets = ['zebra']; 
-		$("#holdst:has(tbody tr)").tablesorter({    // only add sort if the table has a body and rows
-			sortList: [[0,1]],
-			headers: { 1: { sorter: 'articles' }}
-        });
+        $("#holdst").dataTable($.extend(true, {}, dataTablesDefaults, {
+            "aoColumnDefs": [
+                { "aTargets": [ 8 ], "sType": "natural" }
+            ],
+            "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
+            "iDisplayLength": 20,
+            "sPaginationType": "four_button"
+        }));
 	 });
 //]]>
 </script>
-- 
1.7.9.5