Исправлено создание черновика после добавления нового клиента в модальном окне
Проблема: Когда клиент создавался через модальное окно и добавлялся в Select2, черновик заказа не создавался автоматически, хотя при выборе существующего клиента все работало. Причина: draft-creator.js слушает события Select2 при загрузке, но когда новый клиент динамически добавляется в Select2, события могут не срабатывать правильно или быть потеряны. Решение: 1. Добавлен публичный API в draft-creator.js (window.DraftCreator.triggerDraftCreation) 2. После успешного создания клиента в модальном окне явно вызываем API 3. Добавлена небольшая задержка (100ms) для синхронизации с Select2 Теперь черновик создается в обоих случаях: - При выборе существующего клиента - При создании нового клиента через модальное окно 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -364,4 +364,12 @@
|
||||
init();
|
||||
}
|
||||
|
||||
// Экспортируем публичный API для вызова из модального окна
|
||||
window.DraftCreator = {
|
||||
triggerDraftCreation: function() {
|
||||
console.log('[DraftCreator] Triggered via API');
|
||||
scheduleCreateDraft();
|
||||
}
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
@@ -1328,6 +1328,15 @@ document.getElementById('save-customer-btn').addEventListener('click', function(
|
||||
|
||||
// Показываем успешное уведомление (автоисчезающее)
|
||||
showNotification(`✓ Клиент "${data.name}" успешно создан!`, 'success');
|
||||
|
||||
// Триггерим создание черновика через draft-creator
|
||||
// После выбора клиента должно произойти автоматическое создание черновика
|
||||
// Добавляем небольшую задержку, чтобы Select2 полностью обновился
|
||||
setTimeout(() => {
|
||||
if (window.DraftCreator && typeof window.DraftCreator.triggerDraftCreation === 'function') {
|
||||
window.DraftCreator.triggerDraftCreation();
|
||||
}
|
||||
}, 100);
|
||||
} else {
|
||||
const errorDiv = document.getElementById('customer-form-errors');
|
||||
errorDiv.innerHTML = '<div class="alert alert-danger mb-0">' + data.error + '</div>';
|
||||
|
||||
Reference in New Issue
Block a user