From: Galen Charlton Date: Tue, 7 Jul 2020 20:24:49 +0000 (-0400) Subject: LP#1886713: fix issue where AngularJS hotkeys fail to initialize X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=88d26e9d6033bad60a7d186b2e4282ce2aecc250;p=evergreen%2Fpines.git LP#1886713: fix issue where AngularJS hotkeys fail to initialize Fixes a race condition where the navbar service can look for eg-accesskey attributes before all of the elements that have them meet the conditions to show up in the DOM. To test ------- [1] From an AngularJS part of the staff interface, note that hitting F8 sometimes does not perform the retrieve last patron action, nor does F8 show up on the list of hot keys when you hit "?" outside of an input. [2] Apply the patch and repeat step 1. This time, the F8 hotkey should consistently work. Signed-off-by: Galen Charlton Signed-off-by: Rogan Hamby Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/web/js/ui/default/staff/services/navbar.js b/Open-ILS/web/js/ui/default/staff/services/navbar.js index b6ff1d31fe..a00e26a55c 100644 --- a/Open-ILS/web/js/ui/default/staff/services/navbar.js +++ b/Open-ILS/web/js/ui/default/staff/services/navbar.js @@ -120,12 +120,15 @@ angular.module('egCoreMod') $scope.showAngularCatalog = s['ui.staff.angular_catalog.enabled']; + }).then(function() { + // need to defer initialization of hotkeys to this point + // as it depends on various settings. + $timeout(function(){find_accesskeys($element)}); }); + } else { + // fallback initialization of hotkeys + $timeout(function(){find_accesskeys($element)}); } - // need to defer initialization of hotkeys to this point - // as some of them are conditional on whether one is logged in - // or is working in offline circulation mode - $timeout(function(){find_accesskeys($element)}); } ); }