Pagina 1 di 1

Calendario

Inviato: 20 ott 2025, 18:33
da nncux
Buongiorno, tramite il codice inserito in onCalendarScriptInit:

//**************************************************************
//$fecha = "2024-02-01"; // data iniziale del calendario
$fecha = [dini]; // data iniziale del calendario
// fa partire il calendario dalla data $fecha
echo <<<HTML
<script>
window.addEventListener('load', () => {
if (window.scMainCalendar) {
scMainCalendar.gotoDate('{$fecha}');
}
});
</script>
HTML;
//*************************************************************

riesco a far partire la visualizzazione del calendario da una data che imposto nella variabile globale [dini].
Quando poi navigo nelle pagine con i pulsanti in altro a sx (per esempio cambiando mese) vorrei avere la possibilità di controllare che l'utilizzatore non vada indietro oltre la [dini].
Non riesco però a trovare nessuna variabile SC/Calendar che mi dia la data o il mese che sto visualizzando.
Qualcuno sa come fare ??

Re: Calendario

Inviato: 22 ott 2025, 07:11
da magre66
Il calendario di scriptcase è Fullcalendar, nella documentazione ufficiale trovi tutte le proprietà che puoi adattare inserendole in OnCalendarApplicationInit.
Per limitare l'escursione c'è la proprietà validRange
Un esempio di codice per limitare l'andare indietro ad una data potrebbe essere

Codice: Seleziona tutto

$fecha = [dini];
echo <<<HTML
<script>
window.addEventListener('load', () => {
  if (window.scMainCalendar) {
    const start = '{$fecha}';
 window.scMainCalendar.setOption('validRange', { start });
 });
 </script>
 HTML;


Personalmente se devo fare un calendario che non sia proprio basico, uso direttamente fullcalendar in una blank, un po' più di lavoro ma infinite personalizzazioni

Re: Calendario

Inviato: 24 ott 2025, 15:47
da nncux
Grazie della risposta. Ancora meglio così per limitare anche la data fine:

//*********************************************************************
$fecha = [dini]; // data iniziale del calendario
$dfine = [dfine]; // data finale calendario
echo <<<HTML
<script>
window.addEventListener('load', () => {
if (window.scMainCalendar) {
const start = '{$fecha}';
const end = '{$dfine}';
scMainCalendar.setOption('validRange', {
start: start,
end: end
});
}
});
</script>
HTML;
//*****************************************************************