Update app.js

Added fix for nested modals closing parent modals
This commit is contained in:
Ryan Sawyer 2025-12-10 10:01:16 -06:00 committed by GitHub
parent 8b5f2e0f3f
commit 5dc761932e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 30 additions and 0 deletions

View File

@ -401,3 +401,33 @@ $(document).ready(function() {
// Data Tables
new DataTable('.dataTables');
});
/*
|---------------------------------------------------------------
| Nested Modal Fix for Bootstrap/AdminLTE
| Prevents parent modals from closing when a child modal closes
|---------------------------------------------------------------
*/
$(document).on('show.bs.modal', '.modal', function () {
// How many modals are currently visible?
const visibleModals = $('.modal:visible').length;
// Increase z-index for each new modal
const zIndex = 1040 + (10 * visibleModals);
$(this).css('z-index', zIndex);
// Delay required because Bootstrap inserts backdrop asynchronously
setTimeout(() => {
$('.modal-backdrop').not('.modal-stack')
.css('z-index', zIndex - 1)
.addClass('modal-stack'); // mark backdrops so they aren't reset
}, 0);
});
// Restore modal-open class when closing a child modal
$(document).on('hidden.bs.modal', '.modal', function () {
if ($('.modal:visible').length > 0) {
// Ensure background scroll remains locked
$('body').addClass('modal-open');
}
});