From 4c317888e3f4fb0e46e1fb9aa82d031858f5118b Mon Sep 17 00:00:00 2001 From: Robert Lange <robert.lange@uni-leipzig.de> Date: Fri, 4 Dec 2020 09:53:12 +0100 Subject: [PATCH] refs #17984 [finc, BARF] handle focus on closing modal * trigger focus restoration on modal close --- themes/finc/js/lightbox.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/themes/finc/js/lightbox.js b/themes/finc/js/lightbox.js index ecd9155acd7..108712feda2 100644 --- a/themes/finc/js/lightbox.js +++ b/themes/finc/js/lightbox.js @@ -7,7 +7,7 @@ VuFind.register('lightbox', function Lightbox() { var refreshOnClose = false; var _modalParams = {}; // Elements - var _modal, _modalBody, _clickedButton = null; + var _modal, _modalBody, _clickedButton, _origin = null; // Utilities function _storeClickedStatus() { _clickedButton = this; @@ -265,6 +265,7 @@ VuFind.register('lightbox', function Lightbox() { _lightboxTitle = $(this).data('lightbox-title'); _modalParams = $(this).data(); VuFind.modal('show'); + _origin = $(this); ajax(obj); _currentUrl = this.href; return false; @@ -488,6 +489,9 @@ VuFind.register('lightbox', function Lightbox() { _modal.on('hidden.bs.modal', function lightboxHidden() { VuFind.lightbox.reset(); _emit('VuFind.lightbox.closed'); + // set focus back on launching element + if (_origin != "undefined") + _origin.focus(); }); _modal.on("shown.bs.modal", function lightboxShown() { bindFocus(); -- GitLab