Skip to content
Snippets Groups Projects
Commit 4c317888 authored by Robert Lange's avatar Robert Lange Committed by Dorian Merz
Browse files

refs #17984 [finc, BARF] handle focus on closing modal

* trigger focus restoration on modal close
parent 604f0b09
No related merge requests found
...@@ -7,7 +7,7 @@ VuFind.register('lightbox', function Lightbox() { ...@@ -7,7 +7,7 @@ VuFind.register('lightbox', function Lightbox() {
var refreshOnClose = false; var refreshOnClose = false;
var _modalParams = {}; var _modalParams = {};
// Elements // Elements
var _modal, _modalBody, _clickedButton = null; var _modal, _modalBody, _clickedButton, _origin = null;
// Utilities // Utilities
function _storeClickedStatus() { function _storeClickedStatus() {
_clickedButton = this; _clickedButton = this;
...@@ -265,6 +265,7 @@ VuFind.register('lightbox', function Lightbox() { ...@@ -265,6 +265,7 @@ VuFind.register('lightbox', function Lightbox() {
_lightboxTitle = $(this).data('lightbox-title'); _lightboxTitle = $(this).data('lightbox-title');
_modalParams = $(this).data(); _modalParams = $(this).data();
VuFind.modal('show'); VuFind.modal('show');
_origin = $(this);
ajax(obj); ajax(obj);
_currentUrl = this.href; _currentUrl = this.href;
return false; return false;
...@@ -488,6 +489,9 @@ VuFind.register('lightbox', function Lightbox() { ...@@ -488,6 +489,9 @@ VuFind.register('lightbox', function Lightbox() {
_modal.on('hidden.bs.modal', function lightboxHidden() { _modal.on('hidden.bs.modal', function lightboxHidden() {
VuFind.lightbox.reset(); VuFind.lightbox.reset();
_emit('VuFind.lightbox.closed'); _emit('VuFind.lightbox.closed');
// set focus back on launching element
if (_origin != "undefined")
_origin.focus();
}); });
_modal.on("shown.bs.modal", function lightboxShown() { _modal.on("shown.bs.modal", function lightboxShown() {
bindFocus(); bindFocus();
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment