From 1f4992cf25131d2f10be0f19b30dbe8a3b943df3 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Fri, 11 Apr 2014 12:40:20 -0400 Subject: [PATCH] Bug 12075 - jQueryUI upgrade broke keyboard shortcuts Content-Type: text/plain; charset="utf-8" The recent jQueryUI upgrade broke keyboard shortcuts in the staff client because of changes to the jQueryUI API. This patch fixes the problem. To test, apply the patch and clear your browser cache if necessary. - View any page in the staff which includes header search tabs for check out, check in, or catalog search (staff client home page or circulation page for instance). - Test the keyboard shortcuts: Alt-q for catalog search, Alt-u for check out, Alt-r for check in. - Each keyboard shortcut should select the correct tab. --- koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js index 08209fe..726c74e 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js +++ b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js @@ -3,14 +3,22 @@ if ( KOHA === undefined ) var KOHA = {}; function _(s) { return s; } // dummy function for gettext +// http://stackoverflow.com/questions/14859281/select-tab-by-name-in-jquery-ui-1-10-0/16550804#16550804 +$.fn.tabIndex = function () { + return $(this).parent().find(this).index() - 1; +}; +$.fn.selectTabByID = function (tabID) { + $(this).tabs("option", "active", $(tabID).tabIndex()); +}; + $(document).ready(function() { $('#header_search').tabs().on( "tabsactivate", function(e, ui) { $(this).find("div:visible").find('input').eq(0).focus(); }); $(".close").click(function(){ window.close(); }); - if($("#header_search #checkin_search").length > 0){ shortcut.add('Alt+r',function (){ $("#header_search").tabs("select","#checkin_search"); $("#ret_barcode").focus(); }); } else { shortcut.add('Alt+r',function (){ location.href="/cgi-bin/koha/circ/returns.pl"; }); } - if($("#header_search #circ_search").length > 0){ shortcut.add('Alt+u',function (){ $("#header_search").tabs("select","#circ_search"); $("#findborrower").focus(); }); } else { shortcut.add('Alt+u',function(){ location.href="/cgi-bin/koha/circ/circulation.pl"; }); } - if($("#header_search #catalog_search").length > 0){ shortcut.add('Alt+q',function (){ $("#header_search").tabs("select","#catalog_search"); $("#search-form").focus(); }); } else { shortcut.add('Alt+q',function(){ location.href="/cgi-bin/koha/catalogue/search.pl"; }); } + if($("#header_search #checkin_search").length > 0){ shortcut.add('Alt+r',function (){ $("#header_search").selectTabByID("#checkin_search"); $("#ret_barcode").focus(); }); } else { shortcut.add('Alt+r',function (){ location.href="/cgi-bin/koha/circ/returns.pl"; }); } + if($("#header_search #circ_search").length > 0){ shortcut.add('Alt+u',function (){ $("#header_search").selectTabByID("#circ_search"); $("#findborrower").focus(); }); } else { shortcut.add('Alt+u',function(){ location.href="/cgi-bin/koha/circ/circulation.pl"; }); } + if($("#header_search #catalog_search").length > 0){ shortcut.add('Alt+q',function (){ $("#header_search").selectTabByID("#catalog_search"); $("#search-form").focus(); }); } else { shortcut.add('Alt+q',function(){ location.href="/cgi-bin/koha/catalogue/search.pl"; }); } $(".focus").focus(); $(".validated").each(function() { -- 1.7.9.5