Import
import { NuiScheduler, type NuiSchedulerHandle } from '@needless-ui/react/scheduler';NuiScheduler
Termine in der Monats-, Wochen-, Tages- oder Agendaansicht oder auf einer Timeline.
| Name | Typ | Standardwert | Beschreibung |
|---|---|---|---|
eventsProp | NuiSchedulerEvent<T>[] | [] | Die anzuzeigenden Termine. |
resourcesProp | NuiSchedulerResource[] | [] | Räume, Personen oder Maschinen: Zeilen der Timeline und Spalten von Tag und Woche. |
viewdefaultViewonViewChangeState | 'month' | 'week' | 'day' | 'agenda' | 'timeline' | 'week' | Die angezeigte Ansicht. |
viewsProp | NuiSchedulerView[] | all | Die Ansichten, zwischen denen man wechseln kann. Standardmäßig alle, die Timeline nur mit Ressourcen. |
timelineSpanProp | 'day' | 'week' | 'month' | 'day' | Was die Timeline zeigt: einen Tag nach Zeitfenstern oder eine Woche oder einen Monat nach Tagen. |
datedefaultDateonDateChangeState | NuiDate | today | Der angezeigte Tag, auf dem auch der Tastaturfokus steht. Übergib defaultDate, wenn ein Server den Terminplaner rendert: Für den Server ist heute vielleicht ein anderer Tag als für den Leser. |
slotMinutesProp | number | 30 | Minuten pro Zeile des Zeitrasters oder pro Spalte der Timeline eines Tages. |
snapMinutesProp | number | slotMinutes | Die Schrittweite, in der sich Termine verschieben und in der Dauer ändern. |
dayStart, dayEndProp | number | 0, 24 | Von welcher bis zu welcher Stunde das Zeitraster reicht. |
scrollHourProp | number | 8 | Die Stunde, die das Zeitraster beim Öffnen zeigt. |
agendaDaysProp | number | 30 | Wie viele Tage die Agenda vorausschaut. |
businessHoursProp | NuiSchedulerHours[] | Arbeitszeiten, etwa { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' }. Die übrige Zeit wird schattiert. | |
weekendsProp | boolean | true | Zeigt das Wochenende. Ohne diese Option blendet jede Ansicht das Wochenende der Locale aus. |
weekNumbersProp | boolean | false | Zeigt ISO-Kalenderwochen im Monat und über den Uhrzeiten. |
editableProp | boolean | false | Termine lassen sich verschieben und in der Dauer ändern, per Zeiger und per Tastatur. |
selectableProp | boolean | false | Im Grid lässt sich Zeit markieren, um Termine anzulegen. |
allowProp | (time) => boolean | Entscheidet, ob ein Verschieben, eine Änderung der Dauer oder eine Zeitauswahl erlaubt ist. | |
toolbarProp | boolean | ((toolbar: NuiSchedulerToolbar) => ReactNode) | true | Zeigt die Toolbar, oder deine Funktion zeichnet aus dem, was sie bekommt, eine eigene. |
firstDayProp | 1 … 7 | Der erste Tag der Woche, 1 für Montag. Standardmäßig der aus der Locale. | |
headingLevelProp | number | 2 | Die Überschriftenebene des Titels; die Tage der Agenda liegen eine Ebene tiefer. |
localeProp | string | 'en-US' | Formatiert Tage und Uhrzeiten. |
labelsProp | Partial<NuiSchedulerLabels> | Alle Texte, die der Terminplaner anzeigt oder ansagt, zum Übersetzen. | |
cornersProp | NuiCorners | Die Form der Ecken: round, squircle, bevel, scoop, notch oder square. | |
radiusProp | NuiRadius | Wie groß die Ecken sind: none, small, medium, large oder full. | |
densityProp | NuiDensity | Wie viel Platz die Komponente einnimmt: compact, regular oder roomy. | |
renderEventRender-Prop | (event, { time }) => ReactNode | Damit zeichnest du Termine selbst, aus dem Termin und seiner Zeit als Text. | |
renderResourceRender-Prop | (resource) => ReactNode | Damit zeichnest du die Kopfzellen der Ressourcen selbst. | |
onEventClickCallback | (event: NuiSchedulerEvent<T>) => void | Wird mit einem angeklickten oder mit Enter geöffneten Termin aufgerufen. | |
onEventChangeCallback | ({ event, start, end, resource? }) => void | Wird nach dem Verschieben oder Ändern der Dauer mit den neuen Zeiten eines Termins aufgerufen, und mit seinen Ressourcen, wenn sie sich geändert haben. Aktualisiere events, um die Änderung zu übernehmen. | |
onSlotSelectCallback | ({ start, end, allDay, resource? }) => void | Wird mit der im Grid markierten Zeit und ihrer Ressource aufgerufen. | |
onRangeChangeCallback | ({ start, end }) => void | Wird mit dem ersten und letzten angezeigten Tag aufgerufen, wenn sie sich ändern, damit du ihre Termine laden kannst. | |
refProp | Ref<NuiSchedulerHandle> | Was du über die ref des Terminplaners erreichst: das Blättern, für eine eigene Toolbar. | |
previous, next, goTodayMethode | () => void | Zeigen die vorherige oder nächste Seite oder heute, für eine eigene Toolbar. | |
titleEigenschaft | string | Was angezeigt wird, so wie es der Titel der Toolbar sagt. |
State funktioniert wie bei Formularfeldern in React: Übergib einen Wert und aktualisiere ihn in seinem on…Change-Callback, oder übergib einen default…-Wert und überlass ihn der Komponente.
Anpassungs-Props, die du nicht setzt, richten sich nach dem nächstgelegenen data-nui-*-Attribut. Mehr dazu in der Anleitung zur Anpassung.
NuiSchedulerToolbar
Was eine toolbar-Funktion bekommt, um eine eigene Toolbar zu zeichnen.
| Name | Typ | Standardwert | Beschreibung |
|---|---|---|---|
titleEigenschaft | string | Was angezeigt wird, so wie es der Titel der Toolbar sagt. | |
view, viewsEigenschaft | NuiSchedulerView, NuiSchedulerView[] | Die angezeigte Ansicht und die angebotenen Ansichten. | |
setView, previous, next, goTodayMethode | (view?) => void | Wechseln die Ansicht oder zeigen die vorherige oder nächste Seite oder heute. |
NuiSchedulerEvent
Ein Termin. Das Ende eines Termins mit Uhrzeit ist nicht eingeschlossen; bei einem ganztägigen Termin ist das Ende sein letzter Tag.
| Name | Typ | Standardwert | Beschreibung |
|---|---|---|---|
id, titleEigenschaft | string | Sein Schlüssel und was er anzeigt. | |
start, endEigenschaft | NuiDateTime | NuiDate | Datum mit Uhrzeit oder, bei ganztägigen Terminen, nur das Datum. | |
allDayEigenschaft | boolean | Standardmäßig gesetzt, wenn start keine Uhrzeit hat. | |
toneEigenschaft | 'accent' | 'neutral' | 'success' | 'warning' | 'danger' | 'accent' | Seine Farbpalette. |
color, classEigenschaft | string | Eine beliebige CSS-Farbe, die Vorrang vor seinem Farbton hat, und Klassen, mit denen du ihn gestaltest. | |
resourceEigenschaft | string | string[] | Die Ressourcen, zu denen er gehört. | |
rruleEigenschaft | string | Eine Wiederholungsregel nach RFC 5545, etwa FREQ=WEEKLY;BYDAY=MO. | |
exdateEigenschaft | string[] | Die Beginnzeiten von Vorkommen, die ausfallen. | |
recurrenceIdEigenschaft | NuiDateTime | NuiDate | An einem Vorkommen, das der Terminplaner meldet: der Beginn, den ihm seine Regel gab. | |
editableEigenschaft | boolean | Ob er sich verschieben lässt, unabhängig davon, was der Terminplaner vorgibt. | |
dataEigenschaft | T | Alles Weitere, das du mit ihm aufbewahren willst. |
NuiSchedulerResource
Eine Ressource, zu der Termine gehören: ein Raum, eine Person oder eine Maschine.
| Name | Typ | Standardwert | Beschreibung |
|---|---|---|---|
id, titleEigenschaft | string | Ihr Schlüssel und der Name, den sie anzeigt. | |
tone, colorEigenschaft | NuiSchedulerTone, string | Die Farben ihrer Termine, sofern diese keine eigenen haben. | |
businessHoursEigenschaft | NuiSchedulerHours[] | Wann sie verfügbar ist, statt der Arbeitszeiten des Terminplaners. | |
dataEigenschaft | R | Alles Weitere, das du mit ihr aufbewahren willst. |
Helpers
Funktionen für wiederkehrende Termine und iCalendar-Dateien.
| Name | Typ | Standardwert | Beschreibung |
|---|---|---|---|
nuiSchedulerOccurrencesMethode | (event, first, last) => NuiSchedulerEvent[] | Ein Termin, wie er an den angegebenen Tagen erscheint: jedes Vorkommen, wenn er sich wiederholt. | |
nuiSchedulerRuleMethode | (text: string) => NuiSchedulerRule | null | Liest eine Wiederholungsregel oder gibt null zurück. | |
nuiSchedulerToIcsMethode | (events, options?) => string | Schreibt Termine als iCalendar-Datei. | |
nuiSchedulerFromIcsMethode | (text, { timeZone? }) => NuiSchedulerEvent[] | Liest die Termine einer iCalendar-Datei, mit ihren Zeiten in einer einzigen Zeitzone. |