J'ai beaucoup aimé la réponse de Lewsid, mais elle présente quelques problèmes. Tout d'abord, le view.start est un Moment, et non une date, donc getMonth()
n'existe pas. Deuxièmement, une vue start
est juste le premier jour visible de ce mois, ce qui signifie que cette date peut être du mois précédent. Pour contourner cela, utilisez son intervalStart
propriété.
Voici mon implémentation pour que le calendrier affiche l'année en cours.
viewRender: function(view, element) {
var now = new Date(new Date().getFullYear(), 0, 1);
var end = new Date(new Date().getFullYear(), 11, 31);
var calDateString = view.intervalStart.month()+'/'+view.intervalStart.year();
var curDateString = now.getMonth()+'/'+now.getFullYear();
var endDateString = end.getMonth()+'/'+end.getFullYear();
if (calDateString === curDateString) {
jQuery('.fc-prev-button').addClass("fc-state-disabled");
} else {
jQuery('.fc-prev-button').removeClass("fc-state-disabled");
}
if (endDateString === calDateString) {
jQuery('.fc-next-button').addClass("fc-state-disabled");
} else {
jQuery('.fc-next-button').removeClass("fc-state-disabled");
}
}