From b0410d7b9d5cc544ddd7f060653e6ef3d33ee54c Mon Sep 17 00:00:00 2001
From: Gregor Gawol <gawol@ub.uni-leipzig.de>
Date: Mon, 11 Oct 2021 09:12:46 +0200
Subject: [PATCH] refs #20714 [fid_adlr] BARF focus after closed lightbox

---
 themes/fid_adlr/js/lightbox.js | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/themes/fid_adlr/js/lightbox.js b/themes/fid_adlr/js/lightbox.js
index 5a33ab34603..c551d2af129 100644
--- a/themes/fid_adlr/js/lightbox.js
+++ b/themes/fid_adlr/js/lightbox.js
@@ -8,7 +8,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;
@@ -258,6 +258,8 @@ VuFind.register('lightbox', function Lightbox() {
       _lightboxTitle = $(this).data('lightboxTitle') || '';
       _modalParams = $(this).data();
       VuFind.modal('show');
+      // Copied finc #17984
+      _origin = $(this);
       ajax(obj);
       _currentUrl = this.href;
       return false;
@@ -411,6 +413,11 @@ VuFind.register('lightbox', function Lightbox() {
     _modal.on('hidden.bs.modal', function lightboxHidden() {
       VuFind.lightbox.reset();
       _emit('VuFind.lightbox.closed');
+      // copied from finc #17984
+      // set focus back on launching element
+      if (_origin !== null && _origin !== 'undefined') {
+        _origin.focus();
+      }
     });
 
     VuFind.modal = function modalShortcut(cmd) {
-- 
GitLab