Import

import-scheduler.tsx
import { NuiScheduler, type NuiSchedulerHandle } from '@needless-ui/react/scheduler';

NuiScheduler

Eventi in un mese, una settimana, un giorno, un’agenda o una timeline.

NuiScheduler: Proprietà
NomeTipoPredefinitoDescrizione
eventsPropNuiSchedulerEvent<T>[][]Gli eventi da mostrare.
resourcesPropNuiSchedulerResource[][]Sale, persone o macchine: righe della timeline e colonne del giorno e della settimana.
view
defaultView
onViewChangeStato
'month' | 'week' | 'day' | 'agenda' | 'timeline''week'La vista mostrata.
viewsPropNuiSchedulerView[]allLe viste tra cui si può passare. Di default tutte, la timeline solo se ci sono risorse.
timelineSpanProp'day' | 'week' | 'month''day'Cosa mostra la timeline: un giorno per slot, o una settimana o un mese per giorni.
date
defaultDate
onDateChangeStato
NuiDatetodayIl giorno mostrato, dove si trova anche il focus da tastiera. Passa defaultDate quando un server renderizza il pianificatore: il giorno di oggi sul server potrebbe non essere quello di chi legge.
slotMinutesPropnumber30Minuti per riga della griglia oraria, o per colonna della timeline di un giorno.
snapMinutesPropnumberslotMinutesIl passo con cui gli eventi si spostano e si ridimensionano.
dayStart, dayEndPropnumber0, 24Le ore di inizio e di fine della griglia oraria.
scrollHourPropnumber8L’ora a cui si apre la griglia oraria.
agendaDaysPropnumber30Quanti giorni in avanti mostra l’agenda.
businessHoursPropNuiSchedulerHours[]L’orario di lavoro, come { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' }. Il resto del tempo è ombreggiato.
weekendsPropbooleantrueMostra il fine settimana. Senza, ogni vista esclude il fine settimana del locale.
weekNumbersPropbooleanfalseMostra i numeri di settimana ISO nel mese, e sopra gli orari.
editablePropbooleanfalseGli eventi si possono spostare e ridimensionare, con il puntatore e da tastiera.
selectablePropbooleanfalseSi può scegliere un orario sulla griglia, per creare eventi.
allowProp(time) => booleanDecide se uno spostamento, un ridimensionamento o la scelta di un orario sono permessi.
toolbarPropboolean | ((toolbar: NuiSchedulerToolbar) => ReactNode)trueMostra la barra degli strumenti, oppure una funzione ne disegna una tutta tua a partire da ciò che riceve.
firstDayProp1 … 7Il primo giorno della settimana, 1 per lunedì. Di default, quello del locale.
headingLevelPropnumber2Il livello di intestazione del titolo; i giorni dell’agenda scendono di un livello.
localePropstring'en-US'Formatta giorni e orari.
labelsPropPartial<NuiSchedulerLabels>Ogni testo che il pianificatore mostra o annuncia, da tradurre.
cornersPropNuiCornersLa forma degli angoli: round, squircle, bevel, scoop, notch o square.
radiusPropNuiRadiusQuanto sono grandi gli angoli: none, small, medium, large o full.
densityPropNuiDensityQuanto spazio occupa: compact, regular o roomy.
renderEventRender prop(event, { time }) => ReactNodeDisegna tu gli eventi, a partire dall’evento e dal suo orario come testo.
renderResourceRender prop(resource) => ReactNodeDisegna tu le intestazioni delle risorse.
onEventClickCallback(event: NuiSchedulerEvent<T>) => voidChiamata con un evento cliccato, o aperto con Invio.
onEventChangeCallback({ event, start, end, resource? }) => voidChiamata con i nuovi orari di un evento dopo uno spostamento o un ridimensionamento, e le sue risorse se sono cambiate. Aggiorna events per mantenere la modifica.
onSlotSelectCallback({ start, end, allDay, resource? }) => voidChiamata con l’orario scelto sulla griglia, e la sua risorsa.
onRangeChangeCallback({ start, end }) => voidChiamata con il primo e l’ultimo giorno mostrati quando cambiano, per caricarne gli eventi.
refPropRef<NuiSchedulerHandle>Cosa espone il ref del pianificatore: il cambio di pagina, per una barra degli strumenti tutta tua.
previous, next, goTodayMetodo() => voidMostrano la pagina precedente o successiva, o oggi, per una barra degli strumenti tutta tua.
titleProprietàstringCiò che è mostrato, con le parole del titolo della barra degli strumenti.

Lo stato funziona come nei campi dei moduli di React: passa un valore e aggiornalo dalla sua callback on…Change, oppure passa un valore default… e lascia che lo tenga il componente.

Le props di personalizzazione che non imposti seguono l’attributo data-nui-* più vicino. Vedi la guida alla personalizzazione.

NuiSchedulerToolbar

Cosa riceve una funzione toolbar, per disegnare una barra degli strumenti tutta tua.

NuiSchedulerToolbar: Proprietà
NomeTipoPredefinitoDescrizione
titleProprietàstringCiò che è mostrato, con le parole del titolo della barra degli strumenti.
view, viewsProprietàNuiSchedulerView, NuiSchedulerView[]La vista mostrata, e le viste offerte.
setView, previous, next, goTodayMetodo(view?) => voidCambiano vista, o mostrano la pagina precedente o successiva, o oggi.

NuiSchedulerEvent

Un evento. La fine di un evento con orario è esclusa; quella di un evento di tutto il giorno è il suo ultimo giorno.

NuiSchedulerEvent: Proprietà
NomeTipoPredefinitoDescrizione
id, titleProprietàstringLa sua chiave, e cosa mostra.
start, endProprietàNuiDateTime | NuiDateDate e orari, o solo date per gli eventi di tutto il giorno.
allDayProprietàbooleanDi default, se start non ha un orario.
toneProprietà'accent' | 'neutral' | 'success' | 'warning' | 'danger''accent'La sua palette.
color, classProprietàstringQualsiasi colore CSS, che prevale sul suo tono, e le classi con cui dargli uno stile.
resourceProprietàstring | string[]Le risorse a cui appartiene.
rruleProprietàstringUna regola di ripetizione secondo RFC 5545, come FREQ=WEEKLY;BYDAY=MO.
exdateProprietàstring[]L’inizio di ogni occorrenza che non si tiene.
recurrenceIdProprietàNuiDateTime | NuiDateSu un’occorrenza riportata dal pianificatore: l’inizio che le ha dato la sua regola.
editableProprietàbooleanSe si può spostare, qualunque cosa dica il pianificatore.
dataProprietàTQualsiasi altra cosa da tenere insieme all’evento.

NuiSchedulerResource

Una sala, una persona o una macchina a cui appartengono degli eventi.

NuiSchedulerResource: Proprietà
NomeTipoPredefinitoDescrizione
id, titleProprietàstringLa sua chiave, e il nome che mostra.
tone, colorProprietàNuiSchedulerTone, stringI colori dei suoi eventi, se non ne hanno di propri.
businessHoursProprietàNuiSchedulerHours[]Quando è disponibile, al posto dell’orario di lavoro del pianificatore.
dataProprietàRQualsiasi altra cosa da tenere insieme alla risorsa.

Helpers

Funzioni per gli eventi che si ripetono e i file iCalendar.

Helpers: Proprietà
NomeTipoPredefinitoDescrizione
nuiSchedulerOccurrencesMetodo(event, first, last) => NuiSchedulerEvent[]Un evento come appare nei giorni indicati: ogni occorrenza, se si ripete.
nuiSchedulerRuleMetodo(text: string) => NuiSchedulerRule | nullLegge una regola di ripetizione, o restituisce null.
nuiSchedulerToIcsMetodo(events, options?) => stringScrive gli eventi come file iCalendar.
nuiSchedulerFromIcsMetodo(text, { timeZone? }) => NuiSchedulerEvent[]Legge gli eventi di un file iCalendar, con gli orari in un unico fuso orario.