diff --git a/themes/bootstrap3/js/common.js b/themes/bootstrap3/js/common.js index 13d1670801aeff905c398027e4b420f1c880990b..3ab48e620494ccc57962867d4841af81c7d1076c 100644 --- a/themes/bootstrap3/js/common.js +++ b/themes/bootstrap3/js/common.js @@ -166,7 +166,7 @@ function recaptchaOnLoad() { if (typeof grecaptcha !== 'undefined') { var captchas = $('.g-recaptcha:empty'); for (var i = 0; i < captchas.length; i++) { - captchas[i].dataset.captchaId = grecaptcha.render(captchas[i], captchas[i].dataset); + $(captchas[i]).data('captchaId', grecaptcha.render(captchas[i], $(captchas[i]).data())); } } } @@ -321,6 +321,16 @@ function setupFacets() { $('.facet.list-group .collapse').on('hidden.bs.collapse', facetSessionStorage); } +function setupIeSupport() { + // Disable Bootstrap modal focus enforce on IE since it breaks Recaptcha. + // Cannot use conditional comments since IE 11 doesn't support them but still has + // the issue + var ua = window.navigator.userAgent; + if (ua.indexOf('MSIE') || ua.indexOf('Trident/')) { + $.fn.modal.Constructor.prototype.enforceFocus = function emptyEnforceFocus() { }; + } +} + $(document).ready(function commonDocReady() { // Start up all of our submodules VuFind.init(); @@ -382,4 +392,6 @@ $(document).ready(function commonDocReady() { $('.searchFormKeepFilters').prop('checked', state); $('.applied-filter').prop('checked', state); } + + setupIeSupport(); }); diff --git a/themes/bootstrap3/js/facets.js b/themes/bootstrap3/js/facets.js index d9629e488ccb930ff8af0858807a6f399b4bffd5..649890d761bbaf8b1a78062540192f286a4d1e78 100644 --- a/themes/bootstrap3/js/facets.js +++ b/themes/bootstrap3/js/facets.js @@ -104,7 +104,7 @@ VuFind.register('lightbox_facets', function LightboxFacets() { function lightboxFacetSorting() { var sortButtons = $('.js-facet-sort'); function sortAjax(button) { - var sort = button.dataset.sort; + var sort = $(button).data('sort'); var list = $('#facet-list-' + sort); if (list.find('.js-facet-item').length === 0) { list.find('.js-facet-next-page').text(VuFind.translate('loading') + '...'); @@ -129,7 +129,7 @@ VuFind.register('lightbox_facets', function LightboxFacets() { lightboxFacetSorting(); $('.js-facet-next-page').click(function facetLightboxMore() { var button = $(this); - var page = parseInt(this.dataset.page, 10); + var page = parseInt(button.data('page'), 10); if (button.attr('disabled')) { return false; }