Проблема: при создании новой группы вариантов (VariantGroup) поиск
товаров через Select2 не работал. При редактировании существующих
групп всё работало корректно.
Причина: отсутствовали проверки инициализации Select2, обработка
ошибок AJAX запросов и валидация параметров.
Изменения:
1. select2-product-init.html - улучшена функция initProductSelect2:
- Добавлена валидация входных параметров (element, apiUrl)
- Добавлена проверка загрузки jQuery и Select2
- Улучшена проверка повторной инициализации
- Добавлен try-catch для обработки ошибок
- Функция возвращает boolean (успех/неудача)
- Добавлено логирование для отладки
2. variantgroup_form.html - улучшены все функции работы с формой:
initSelect2ForRow:
- Добавлена проверка существования row и select элемента
- Удаление старых обработчиков перед инициализацией
- Проверка результата инициализации Select2
updateRowData:
- Добавлен timeout (5 сек) для fetch запросов
- Добавлена проверка статуса HTTP ответа
- Улучшена обработка ошибок с fallback данными
- Добавлено логирование ошибок
DOMContentLoaded инициализация:
- Добавлена валидация контейнера, totalFormsInput и apiUrl
- Задержка перед инициализацией существующих строк (100ms)
- Проверка успешности инициализации перед updateRowData
Добавление нового товара:
- Задержка (50ms) перед инициализацией Select2
- Повторная попытка при неудаче (через 500ms)
- Улучшена надежность работы с динамическими элементами
Результат: Select2 поиск работает корректно как при создании новых
групп, так и при редактировании существующих. Добавлена надежная
обработка ошибок и логирование для отладки.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>