Ho bisogno di questa funzionalità in un progetto che sto lavorando ora. Questo è un progetto scolastico in cui devo evidenziare lo sfondo con un colore rosso se quel giorno è un evento festivo + i fine settimana. Si prega di notare che qui tutti i sabati non sono feste. Alcune scuole hanno vacanze solo il 2 ° sabato o in alcune scuole un sabato casuale verrà scelto come giornata lavorativa.
In qualche modo ho risolto questo problema anche se non è una soluzione elegante.
Sulla versione 1.5.1 alla linea numero 2291 aggiungi questa linea
var refDate = typeof(window.holidays)!='undefined'?window.holidays:[]; //Quick and dirty fix
Dal 2300-2304 sostituire le linee con il seguente codice
if (+date == +today) {
cell.addClass(tm + '-state-highlight fc-today');
}else if($.inArray(+date, refDate)!=-1){ //Added by me
cell.addClass(tm + '-state-error'); //Added by me
}else{
cell.removeClass(tm + '-state-highlight fc-today');
cell.removeClass(tm + '-state-error'); //Added by me
}
Prima di chiamare la piena calendario, è necessario creare una serie di date convertite in oggetti js data e poi convertirle in un intero lungo aggiungendo un simbolo + davanti ad esso, come questo
var holidayArray = ['2011-06-26','2011-07-03','2011-07-10','2011-07-17','2011-07-24','2011-07-31'];
window.holidays = [];
for(var i=0; i<holidayArray.length;i++){
holidays.push(+(mysqlDateToJSDate(holidayArray[i])));
}
Infine ho trovato una funzione js che converte le date mysql in oggetti js date.
function mysqlDateToJSDate(date) {
var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9])$/;
var parts=date.replace(regex,"$1 $2 $3").split(' ');
return new Date(parts[0],parts[1]-1,parts[2],0,0,0);
}
Dopo aver chiamato il calendario completo, non dimenticare di eliminare la variabile globale.
So che creare una variabile globale non è una cosa carina. Ma considerando che il calendario completo è molto attivo con frequenti correzioni di bug e nuove funzionalità, non voglio intromettermi troppo nel codice. Non so come passare la variabile come opzione e facilmente ottenerla dove voglio.
Questo è stato fatto solo in vista mese. Dobbiamo fare lo stesso anche su altre viste ...
Impossibile pubblicare l'anteprima ma è possibile vederlo here.
che sarebbe un grande funzionalità. – MrBliz