From f40a3217c61a3d77cdadd28a59d75a0517ceef96 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Fri, 11 Apr 2014 12:40:20 -0400 Subject: [PATCH] [PASSED QA] Bug 12075 - jQueryUI upgrade broke keyboard shortcuts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Followed test plan, patch behaves as expected. Signed-off-by: Marc VĂ©ron Signed-off-by: Katrin Fischer Passes all tests and QA script. Confirmed that the shortcuts were broken before the patch and now work again after applying it. --- 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 f4b1511..909d74c 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.8.3.2