es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El evento que se solapa (eventOverlap) no actualiza el evento en movimiento.

Caso de prueba reducido

Intenté crear un codePen muy simple: https://codepen.io/crevecoeur/pen/RwZzRKm

Descripción del error

Describa cómo recrear el error.
Creo algunos eventos y un simple fullcalendar:

eventOverlap: (stillEvent, movingEvent) => {
stillEvent.setAllDay(false)
movingEvent?.setAllDay(false)
return true
}

¿Qué esperas que suceda?
Quiero cambiar el evento móvil y el evento fijo

¿Qué sucede en su lugar?
El evento fijo cambia pero no el evento móvil

Captura de pantalla

Evento de todo el día: movingEevent
Evento largo: stillEvent
2
Después de arrastrar el evento desde Mon 01 hasta Mon 08

Evento de todo el día: no cambió

Evento largo: cambiado
1

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Propuesta de solución

    El método setAllDay no parece estar funcionando para el evento en movimiento porque es opcional (movingEvent?) y puede ser nulo en algunos casos. Podemos agregar una verificación de nulos (null check) para el movingEvent y retornar true para permitir que los eventos se superpongan. Aquí está el fragmento de código actualizado:

    eventOverlap: (stillEvent, movingEvent) => {
      stillEvent.setAllDay(false)
      if (movingEvent) {
        movingEvent.setAllDay(false)
      }
      return true
    }
    

    Esto debería cambiar adecuadamente el evento de todo el día y el evento largo cuando se superponen.

Comments are closed.