Перетаскиваемые элементы исчезают или смещаются при перетаскивании в FullCalendar с помощью StimulusJS в RailsJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Перетаскиваемые элементы исчезают или смещаются при перетаскивании в FullCalendar с помощью StimulusJS в Rails

Сообщение Anonymous »

Я интегрирую FullCalendar со StimulusJS в приложении Ruby on Rails, чтобы создать интерактивный инструмент планирования. Большая часть этого работает так, как ожидалось, но я столкнулся с проблемой перетаскивания событий при их перемещении по календарю.
Проблема:
Когда я перетащите и переместите перетаскиваемое событие по полю календаря, перетаскиваемый элемент исчезнет (изменится на отображение: нет в соответствии с проверкой DOM).
Даже если я заставлю элемент оставаться видимым, он не обновит свое положение правильно и остается за пределами полей календаря.
Ниже — это ключевые фрагменты кода, которые подчеркивают мою текущую настройку:
Полная настройка календаря:

Код: Выделить всё

setupCalendar = () => {
this.calendar = new Calendar(this.timelineWrapperTarget, {
plugins: [interactionPlugin, luxonPlugin, resourceTimelinePlugin],
initialView: 'resourceTimeline',
initialDate: DateTime.now().startOf('week').toISODate(),
droppable: true,
drop: async (eventData) => {
const templateData = camelcaseKeys(
JSON.parse(eventData.draggedEl.dataset.calendarEntry),
{ deep: true }
);

let calendarEntryType = templateData.templateType === "shift" ? "shifts" : "absences";
const requestBody = decamelizeKeys({
date: eventData.dateStr,
contractFunctionId: eventData.resource.id,
templateId: templateData.templateId,
}, { deep: true });

// API call for Shifts
if (calendarEntryType === "shifts") {
await post(`/${window.currentWorkspaceSlug}/employee_zone/work_schedule/shifts.json`, {
contentType: "application/json",
body: requestBody,
});
this.calendar.refetchEvents();
}
},
});
}

Настройка перетаскиваемых элементов:

Код: Выделить всё

setupDraggableItems = () => {
new Draggable(document.getElementById('shift-and-absence-template-list'), {
itemSelector: '.draggable-item',
});
}

Обходной путь CSS:
  • Перетаскиваемый элемент изменяется на отображение: нет после удаления.
  • Я включил видимость, используя:

Код: Выделить всё

.fc-event-dragging {
display: block !important;
}
[*]Хотя это снова делает событие видимым, оно остается за пределами календаря и не совпадает с местом перетаскивания.
< /ul>
Мне нужен совет. Как я могу исправить перетаскиваемые события? Оно просто исчезает из календаря

Подробнее здесь: https://stackoverflow.com/questions/792 ... h-stimulus
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»