From 673129ebf89616185d133d9354487e8d8e32d2ef Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Wed, 26 Feb 2020 15:53:48 +0000 Subject: [PATCH] Bug 24510: When Placing a Hold, cursor doesn't focus on Patron Name This alternate patch tries to implement a fix in a more "correct" way by tying the cursor focus to the initialization of the jQueryUI tabs. By configuring both the "create" and "activate" events we can make sure the correct input field is focused. I think the only advantage of this patch over the other one is that tying the focus to the tabs activation makes it a little more obvious where in the DOM loading sequence the focus is being set. To test, follow the original patch's test plan: TEST PLAN: 1. Go to Biblio Record 2. Place Hold (request.pl) - either the Hold above the Bib or the Hold on the left, it does the same thing. 3. Note that the cursor does not go to Patron Name (for whom to place the hold for), it goes to the Top Search bar under Checkout. 4. Apply patch and reload the page. 5. The focus should now be correctly set. 6. Toggle between 'Patrons' and 'Club' tabs. 7. Focus should stay set. Signed-off-by: Lucas Gass Signed-off-by: Jonathan Druart Signed-off-by: Katrin Fischer Signed-off-by: Martin Renvoize Signed-off-by: Joy Nelson --- .../prog/en/modules/reserve/request.tt | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt index efb30f9243..67a2955884 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -964,9 +964,25 @@ $(document).ready(function() { [% UNLESS clubs %] - $('#circ_holds_select').tabs({active: 0}); + $('#circ_holds_select').tabs({ + active: 0, + activate: function(){ + $(this).find("input.focus").focus(); + }, + create: function(){ + $(this).find("input.focus").focus(); + } + }); [% ELSE %] - $('#circ_holds_select').tabs({active: 1}); + $('#circ_holds_select').tabs({ + active: 1, + activate: function(){ + $(this).find("input.focus").focus(); + }, + create: function(){ + $(this).find("input.focus").focus(); + } + }); [% END %] function ToggleHoldsToPlace() { if ( $("#requestany").prop('checked') ) { @@ -1247,17 +1263,6 @@ [% END %] [% END %] - if ( $(".focus").is(":visible") ) { - $(".focus").focus(); - } - - $('[href="#holds_patronsearch_pane"]').click( function() { - $('#patron').focus(); - }) - - $('[href="#holds_clubsearch_pane"]').click( function() { - $('#club').focus(); - }) }); [% END %] -- 2.20.1