Écouteur pour "changement de date" dans FullCalendar?

y a-t-il un moyen d'attacher un auditeur à FullCalendar qui sera déclenché chaque fois que la date actuellement affichée est changée, c.-à-d. Si vous êtes en mode mois, aller au mois suivant déclencherait l'événement passant la Date du premier jour du mois, et la même chose pour les semaines changeantes en mode semaine, jour en vue Jour ect.

le seul auditeur exposé qui serait proche de cela est le dayClick callback, mais ce n'est pas bon, car il ne se déclenche que lorsqu'un utilisateur clique dans une journée réelle cellule, pas par exemple quand les commandes Next/prev/today sont pressées dans la barre d'en-tête.

je veux que cette fonctionnalité soit capable de synchroniser le mois actuellement visualisé dans FullCalendar avec un composant ExtJS datepicker, donc si le mois visualisé est modifié dans FullCalendar, alors le Datepicker est mis à jour pour montrer ce même mois. (pensez à L'interface utilisateur de Google Calendar avec son "mini calendar" en haut à gauche étant le curseur de données)

24
demandé sur Bill Dami 2011-06-20 17:51:22

2 réponses

projet de Loi,

je sais que cette question est assez ancienne, mais j'avais besoin d'une solution et je me suis dit que je la poserais ici pour les autres. J'ai résolu le problème moi-même en attachant le viewDisplay évènement à mon calendrier (cet événement a été supprimé dans v2 de FullCalendar,viewRender peut être utilisé à la place).

$("#calendar").fullCalendar({
    viewDisplay: function (element) {

    }
});

une fois que vous avez accès au paramètre element, vous pouvez obtenir la date en utilisant element.start ou element.visStart. Si vous êtes dans l'affichage mois, départ vous fournir le premier jour du mois que vous regardez, visStart vous donnera le premier jour visible du mois

25
répondu Anthony Shaw 2015-03-02 13:32:25

C'est la façon dont je l'ai fait:

$("#calendar").fullCalendar({

viewRender: function(view, element){
        var currentdate = view.intervalStart;
        $('#datepicker').datepicker().datepicker('setDate', new Date(currentdate));
    }

    });

en vue du mois,intervalStart retourner le premier jour du mois, affichée sur le FullCalendar, plutôt que le premier visible de jour, qui est habituellement un jour vers la fin du mois précédent.

10
répondu user3241874 2015-08-20 01:04:49