fix: Icon picker modal reopens after selection
- Use Bootstrap event dispatch instead of manual hide - Let Bootstrap manage modal state properly - Clean backdrop only in hidden.bs.modal event
This commit is contained in:
parent
6e54615d54
commit
cb74973a90
|
|
@ -417,23 +417,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
// Используем Bootstrap API для закрытия
|
||||
// Триггерим событие hide через Bootstrap
|
||||
var modalEl = document.getElementById('iconPickerModal');
|
||||
if (modalEl && typeof bootstrap !== 'undefined' && bootstrap.Modal) {
|
||||
var modal = bootstrap.Modal.getInstance(modalEl);
|
||||
if (modal) {
|
||||
modal.hide();
|
||||
}
|
||||
if (modalEl) {
|
||||
var evt = new Event('hide.bs.modal');
|
||||
modalEl.dispatchEvent(evt);
|
||||
}
|
||||
|
||||
// Принудительно удаляем backdrop через небольшую задержку
|
||||
setTimeout(function() {
|
||||
var backdrops = document.querySelectorAll('.modal-backdrop');
|
||||
backdrops.forEach(function(bp) { bp.remove(); });
|
||||
document.body.classList.remove('modal-open');
|
||||
document.body.style.paddingRight = '';
|
||||
document.body.style.overflow = '';
|
||||
}, 100);
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
|
|
@ -474,8 +463,15 @@
|
|||
|
||||
// Удаляем backdrop при закрытии модала
|
||||
document.getElementById('iconPickerModal').addEventListener('hidden.bs.modal', function(e) {
|
||||
var backdrop = document.querySelector('.modal-backdrop');
|
||||
if (backdrop) backdrop.remove();
|
||||
var backdrops = document.querySelectorAll('.modal-backdrop');
|
||||
backdrops.forEach(function(bp) { bp.remove(); });
|
||||
document.body.classList.remove('modal-open');
|
||||
document.body.style.paddingRight = '';
|
||||
});
|
||||
|
||||
// Обработка hide - Bootstrap управляет закрытием
|
||||
document.getElementById('iconPickerModal').addEventListener('hide.bs.modal', function(e) {
|
||||
// Bootstrap сам управляет модалом, ничего не делаем
|
||||
});
|
||||
});
|
||||
})();
|
||||
|
|
|
|||
Loading…
Reference in New Issue