Saltar al contenido

¿Cómo deshabilitar los enlaces de eventos en FullCalendar cuando se usa el feed de Google Calendar?

Luego de de nuestra prolongada selección de datos hemos podido resolver esta problema que tienen muchos de nuestros usuarios. Te dejamos la solución y nuestro objetivo es que te resulte de mucha apoyo.

Solución:

La documentación en el sitio web de FullCalendar hace referencia a la función de devolución de llamada ‘eventClick’:

http://arshaw.com/fullcalendar/docs/mouse/eventClick/

Si la propiedad url está configurada en el objeto de evento, al devolver false evita que el navegador visite la URL del evento. Por lo tanto, cuando inicie FullCalendar, agregue la función de devolución de llamada eventClick con algo similar a…

$('#calendar').fullCalendar(
    eventClick: function(event) 
        if (event.url) 
            return false;
        
    
);

Podría valer la pena probar su propio procesador de eventos en las opciones de calendario completo:

 eventRender:function (event, element)  

Para hacer esto, deberá escribir todo el código de renderizado usted mismo; puede comenzar con la implementación original y modificar según sea necesario.
No probé esto con una implementación de calendario de Google, pero lo usé con json personalizado para activar o desactivar href según sea necesario.

Alternativamente, podrías:
Hackea el archivo gcal.js para que no establezca la propiedad href en los objetos de evento.
O
Intercepte los datos del evento antes de renderizar y elimine la propiedad href.

Editar archivo gcal.js

events.push({
    id: entry['gCal$uid']['value'],
    title: entry['title']['$t'],
    //url: url,
    start: start,
    end: end,
    allDay: allDay,
    location: entry['gd$where'][0]['valueString'],
    description: entry['content']['$t']

Eliminar línea: url: url,

Si estás contento con lo expuesto, tienes la libertad de dejar un artículo acerca de qué te ha impresionado de este tutorial.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *