fix(calendar): resolve infinite loading on manage calendar button
- Removed duplicate modal opening via data-bs-toggle attribute - Changed to programmatic opening via openForCreate() only - Added calendar:edit event listener for edit functionality - Updated button selector from data-bs-target to data-action Issue: Button had both Bootstrap modal trigger and JS event listener, causing double initialization and infinite loading state. Solution: Use only programmatic modal opening through calendarManageModal API.
This commit is contained in:
parent
d9395def63
commit
6a99acf7e4
@ -180,13 +180,22 @@ export function integrateCalendarManager(calendarWidgetInstance, options = {}) {
|
||||
});
|
||||
|
||||
// Привязываем кнопку создания календаря к модальному окну
|
||||
const createCalendarBtn = document.querySelector('[data-bs-target="#calendarManageModal"]');
|
||||
const createCalendarBtn = document.querySelector('[data-action="create-calendar"]');
|
||||
if (createCalendarBtn && manageModalInstance) {
|
||||
createCalendarBtn.addEventListener('click', () => {
|
||||
manageModalInstance.openForCreate();
|
||||
});
|
||||
}
|
||||
|
||||
// Обрабатываем событие редактирования календаря из списка
|
||||
if (manageModalInstance) {
|
||||
document.addEventListener('calendar:edit', (e) => {
|
||||
const calendar = e.detail;
|
||||
console.log('[CalendarIntegration] Edit calendar requested:', calendar);
|
||||
manageModalInstance.openForEdit(calendar.id);
|
||||
});
|
||||
}
|
||||
|
||||
// Создаём объект интеграции
|
||||
const integration = {
|
||||
/**
|
||||
|
||||
@ -25,8 +25,7 @@
|
||||
<button
|
||||
class="btn btn-sm btn-outline-primary"
|
||||
type="button"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#calendarManageModal"
|
||||
data-action="create-calendar"
|
||||
aria-label="Создать календарь"
|
||||
title="Создать календарь"
|
||||
>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user