Bug 9450 [Revised] Use DataTables in cataloging Z39.50 search results
authorOwen Leonard <oleonard@myacpl.org>
Tue, 22 Jan 2013 20:08:41 +0000 (15:08 -0500)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Thu, 7 Mar 2013 15:38:01 +0000 (10:38 -0500)
Replace the tablesorter plugin with the DataTables plugin in cataloging
Z39.50 search results.

Structural changes were made to the table markup to deal with a
DataTables bug which prevents it from properly parsing a <th> with a
colspan.

To test, go to cataloging and perform a Z39.50 search. Confirm that
table sorting works correctly. In this configuration there
should be no pager and no results filtering.

Revision corrects template path to datatables assets.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Sorting works. No errors.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt

index 558f2ee..c30d23b 100644 (file)
@@ -3,7 +3,10 @@
 [% INCLUDE 'greybox.inc' %]
 [% INCLUDE 'doc-head-close.inc' %]
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+<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[
 function Import(GetThisOne,biblionumber) {
@@ -11,12 +14,6 @@ function Import(GetThisOne,biblionumber) {
     window.close();
     return false;
 }
-$.tablesorter.addParser({
-    id: 'articles', 
-    is: function(s) {return false;  }, 
-    format: function(s) { return s.toLowerCase().replace(/^(the|an|a) /,''); }, 
-    type: 'text' 
-});
 
 function closemenu(){
     $(".linktools").hide();
@@ -32,11 +29,14 @@ $(document).ready(function(){
         $(".checkboxed").unCheckCheckboxes();
         return false;
     });
-    $("#resultst").tablesorter({
-        sortList: [[1,0]],
-        headers: { 1: { sorter: 'articles' },7: { sorter: false },8: { sorter: false } },
-        widgets: ['zebra']
-    }); 
+    $("#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);
@@ -157,7 +157,8 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
         <th>Edition</th>
         <th>ISBN</th>
         <th>LCCN</th>
-        <th colspan="2">Preview</th>
+        <th>MARC</th>
+        <th>Card</th>
                <th>&nbsp;</th>
     </tr></thead>
     <tbody>[% FOREACH breeding_loo IN breeding_loop %]