Исправлено затемнение после закрытия модального окна создания клиента

Проблема: После успешного создания клиента модальное окно закрывалось,
но фон (backdrop) оставался, и форма становилась неактивной.

Решение: Добавлен обработчик события hidden.bs.modal для полной очистки:
- Удаляется элемент .modal-backdrop (если остался)
- Удаляется класс modal-open с body (восстанавливает прокрутку)
- Очищается добавленный padding-right
- Возвращается фокус на форму заказа

Это обеспечивает полную очистку состояния модального окна Bootstrap 5.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-11 01:13:46 +03:00
parent 6a100c4257
commit e0b12f5c7c

View File

@@ -1288,7 +1288,30 @@ document.getElementById('save-customer-btn').addEventListener('click', function(
.then(data => { .then(data => {
if (data.success) { if (data.success) {
// Закрываем модальное окно // Закрываем модальное окно
const modal = bootstrap.Modal.getInstance(document.getElementById('createCustomerModal')); const modalElement = document.getElementById('createCustomerModal');
const modal = bootstrap.Modal.getInstance(modalElement);
// Слушаем событие полного закрытия модального окна
const handleHidden = () => {
// Удаляем обработчик после первого запуска
modalElement.removeEventListener('hidden.bs.modal', handleHidden);
// Дополнительная очистка (на случай если Bootstrap не почистил)
const backdrop = document.querySelector('.modal-backdrop');
if (backdrop) {
backdrop.remove();
}
document.body.classList.remove('modal-open');
document.body.style.paddingRight = '';
// Возвращаем фокус на форму заказа (опционально)
const orderForm = document.getElementById('order-form');
if (orderForm) {
orderForm.focus();
}
};
modalElement.addEventListener('hidden.bs.modal', handleHidden);
modal.hide(); modal.hide();
// Выбираем созданного клиента в Select2 // Выбираем созданного клиента в Select2