Nella versione precedente del tema il calendario faceva ricorso a un plugin Javascript di terze parti, Accessible Bootstrap Date Picker. La versione attuale del tema offre con il componente Datepicker un'implementazione nativa delle stesse funzionalità. Per compatibilità, il componente precedente è comunque ancora disponibile ed utilizzabile anche con questa versione del tema.
Si tenga presente che la localizzazione dell'interfaccia del calendario - es: label per mesi, giorni etc - avviene a partire dalla lingua in uso sul browser.
Calendario
Il calendario è un componente accessibile basato sul lavoro di Gerard K. Cohen.
Per utilizzarlo occorre sia presente in pagina il relativo codice javascript da collocare a fine pagina, immediatamente prima del tag di chiusura </body> così come il file css specifico, da collocare all'interno del tag <head>
Il calendario è generato dal seguente codice html; non sono necessarie chiamate a funzioni javascript al caricamento della pagina.
DomLunMarMerGioVenSab
Sono disponibili le seguenti scorciatoie da tastiera:
SINISTRA / DESTRA per spostarsi da un giorno all'altro.
SU / GIU' per spostarsi da una settimana all'altra.
HOME per spostarsi al primo giorno del mese.
END per spostarsi all'ultimo giorno del mese.
PAGE UP per spostarsi allo stesso giorno nel mese precedente.
PAGE DOWN per spostarsi allo stesso giorno nel mese successivo.
SPAZIO per selezionare una data.
Inibire o evidenziare giorni specifici
All'occorrenza è possibile inibire o evidenziare a calendario giorni specifici.
Per farlo, occorre creare un apposito oggetto javascript "holidays" dove specificare l'anno, mese e data delle giornate da inibire o segnalare a calendario. Collocare l'oggetto prima del codice javascript del calendario.
Si noti che l'indice dei mesi è a base zero, per cui il mese di gennaio corrisponde all'indice zero. Nell'esempio sono presenti il 2/02/2022, il 18/02/2022 ed il 25/02/2022.
La booleana isEnabled definisce se il giorno sia o meno selezionabile a calendario: se true, il giorno viene evidenziato a calendario ma è comunque selezionabile da parte dell'utente. La stringa label permette invece di definire il contenuto del popup visualizzato al passaggio del mouse sopra una di queste giornate.
Intercettare la selezione dell'utente
Se implementata la funzione HandleDate, la data selezionata dall'utente viene passata alla funzione stessa, in formato SQL YYYY-MM-DD