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
_______________________________________________
Koha-patches mailing list
Koha-patches@lists.koha-community.org
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to