Bug 22768: Global search form keyboard navigation broken
authorOwen Leonard <oleonard@myacpl.org>
Thu, 25 Apr 2019 11:45:58 +0000 (11:45 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Mon, 15 Jul 2019 11:45:27 +0000 (12:45 +0100)
Bug 22045 made changes to the global staff client JavaScript which
broken keyboard navigation for the most common forms in the resident
search form("Check out, Check in, Renew, Search). This patch
reimplements the tab selection code on the basic MARC editor page so
that the keyboard shortcut behavior can be restored.

To test, apply the patch go to Cataloging.

 - Search for an existing record and edit it in the basic MARC editor.
   - Test that the numbered tabs (0-9) at the top work correctly.
 - Select a tab other than 0 and choose Save -> Save and continue
   editing. When the page reloads you should be returned to the tab you
   were on when you saved.
 - Go to the Circulation home page. Test the keyboard shortcuts for
   switching tabs in header area:

   - Alt-u (Check out)
   - Alt-r (Check in)
   - Alt-w (Renew)
   - Alt-q (Search)

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Nadine Pierre <nadine.pierre@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt
koha-tmpl/intranet-tmpl/prog/js/staff-global.js

index b13ed09..635b6cc 100644 (file)
@@ -28,7 +28,8 @@
         });
 
         [% IF tab %]
-          $('#addbibliotabs').selectTabByID("tab[% tab | html %]");
+            link = $("a[href='#[% tab | html %]']");
+            selectTab( link );
         [% END %]
 
         Sticky = $("#toolbar");
 
         $(".toolbar-tabs a").on("click",function(e){
             e.preventDefault();
-            $(".toolbar-tabs li").removeClass("selected");
-            $(this).parent().addClass("selected");
-            var tabid = $(this).data("tabid");
-            $('#addbibliotabs').selectTabByID("tab" + tabid + "XX");
-            $(".tag_anchors").removeClass("tab_selected").hide();
-            $(".tag_anchors_" + tabid ).addClass("tab_selected").show();
+            selectTab( $(this ) );
         });
 
         $(".tag_anchor").on("click", function(e){
 
     });
 
+    function selectTab( tablink ){
+        $(".toolbar-tabs li").removeClass("selected");
+        tablink.parent().addClass("selected");
+        var tabid = tablink.data("tabid");
+        $('#addbibliotabs').selectTabByID("#tab" + tabid + "XX");
+        $(".tag_anchors").removeClass("tab_selected").hide();
+        $(".tag_anchors_" + tabid ).addClass("tab_selected").show();
+    }
+
     function redirect(dest){
         $("#redirect").attr("value",dest);
         return Check();
index d86b994..70e0551 100644 (file)
@@ -31,7 +31,7 @@ $.fn.tabIndex = function () {
     return $(this).parent().children('div').index(this);
 };
 $.fn.selectTabByID = function (tabID) {
-    $(this).tabs("option", "active", $( "#" + tabID ).tabIndex());
+    $(this).tabs("option", "active", $( tabID ).tabIndex());
 };
 
  $(document).ready(function() {