Import

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

NuiScheduler

Des événements sur un mois, une semaine, un jour, en agenda ou sur une timeline.

NuiScheduler: Propriétés
NomTypePar défautDescription
eventsPropNuiSchedulerEvent<T>[][]Les événements à afficher.
resourcesPropNuiSchedulerResource[][]Salles, personnes ou machines : les lignes de la timeline, et les colonnes du jour et de la semaine.
view
defaultView
onViewChangeÉtat
'month' | 'week' | 'day' | 'agenda' | 'timeline''week'La vue affichée.
viewsPropNuiSchedulerView[]allLes vues entre lesquelles on peut basculer. Par défaut, toutes, et la timeline seulement avec des ressources.
timelineSpanProp'day' | 'week' | 'month''day'Ce que montre la timeline : un jour par créneaux, ou une semaine ou un mois par jours.
date
defaultDate
onDateChangeÉtat
NuiDatetodayLe jour affiché, où se trouve aussi le focus clavier. Passez defaultDate quand le rendu du planificateur se fait sur un serveur : la date du jour sur le serveur n’est pas forcément celle du lecteur.
slotMinutesPropnumber30Les minutes par ligne de la grille horaire, ou par colonne de la timeline d’un jour.
snapMinutesPropnumberslotMinutesLe pas de déplacement et de redimensionnement des événements.
dayStart, dayEndPropnumber0, 24Les heures de début et de fin de la grille horaire.
scrollHourPropnumber8L’heure à laquelle s’ouvre la grille horaire.
agendaDaysPropnumber30Le nombre de jours à venir que couvre l’agenda.
businessHoursPropNuiSchedulerHours[]Les heures de travail, comme { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' }. Le reste du temps est grisé.
weekendsPropbooleantrueAffiche le week-end. Sans lui, chaque vue masque le week-end des paramètres régionaux.
weekNumbersPropbooleanfalseAffiche les numéros de semaine ISO dans le mois, et au-dessus des heures.
editablePropbooleanfalseLes événements peuvent être déplacés et redimensionnés, au pointeur comme au clavier.
selectablePropbooleanfalseUne plage horaire peut être choisie sur la grille, pour créer des événements.
allowProp(time) => booleanDécide si un déplacement, un redimensionnement ou un choix de plage horaire peut avoir lieu.
toolbarPropboolean | ((toolbar: NuiSchedulerToolbar) => ReactNode)trueAffiche la barre d’outils ; une fonction dessine la vôtre à partir de ce qu’elle reçoit.
firstDayProp1 … 7Le premier jour de la semaine, 1 pour lundi. Par défaut, celui des paramètres régionaux.
headingLevelPropnumber2Le niveau du titre ; les jours de l’agenda descendent d’un niveau.
localePropstring'en-US'Formate les jours et les heures.
labelsPropPartial<NuiSchedulerLabels>Tous les textes que le planificateur affiche ou annonce, à traduire.
cornersPropNuiCornersLa forme de ses coins : round, squircle, bevel, scoop, notch ou square.
radiusPropNuiRadiusLa taille de ses coins : none, small, medium, large ou full.
densityPropNuiDensityLa place qu’il occupe : compact, regular ou roomy.
renderEventRender prop(event, { time }) => ReactNodeDessinez vous-même les événements, à partir de l’événement et de son horaire sous forme de texte.
renderResourceRender prop(resource) => ReactNodeDessinez vous-même les en-têtes des ressources.
onEventClickCallback(event: NuiSchedulerEvent<T>) => voidAppelé avec l’événement cliqué, ou ouvert avec Entrée.
onEventChangeCallback({ event, start, end, resource? }) => voidAppelé avec les nouveaux horaires d’un événement après un déplacement ou un redimensionnement, et ses ressources quand elles ont changé. Mettez à jour events pour conserver le changement.
onSlotSelectCallback({ start, end, allDay, resource? }) => voidAppelé avec la plage horaire choisie sur la grille, et sa ressource.
onRangeChangeCallback({ start, end }) => voidAppelé avec le premier et le dernier jour affichés quand ils changent, pour charger leurs événements.
refPropRef<NuiSchedulerHandle>Ce qu’expose la ref du planificateur : la navigation entre les pages, pour votre propre barre d’outils.
previous, next, goTodayMéthode() => voidAffichent la page précédente ou suivante, ou aujourd’hui, pour votre propre barre d’outils.
titlePropriétéstringCe qui est affiché, tel que le formule le titre de la barre d’outils.

L’état fonctionne comme pour les champs de formulaire de React : passez une valeur et mettez-la à jour depuis son callback on…Change, ou passez une valeur default… et laissez le composant la garder.

Les props de personnalisation que vous ne définissez pas suivent l’attribut data-nui-* le plus proche. Consultez le guide de personnalisation.

NuiSchedulerToolbar

Ce que reçoit une fonction toolbar, pour dessiner votre propre barre d’outils.

NuiSchedulerToolbar: Propriétés
NomTypePar défautDescription
titlePropriétéstringCe qui est affiché, tel que le formule le titre de la barre d’outils.
view, viewsPropriétéNuiSchedulerView, NuiSchedulerView[]La vue affichée, et les vues proposées.
setView, previous, next, goTodayMéthode(view?) => voidChangent de vue, ou affichent la page précédente ou suivante, ou aujourd’hui.

NuiSchedulerEvent

Un événement. La fin d’un événement avec horaire est exclue ; celle d’un événement sur toute la journée est son dernier jour.

NuiSchedulerEvent: Propriétés
NomTypePar défautDescription
id, titlePropriétéstringSa clé, et ce qu’il affiche.
start, endPropriétéNuiDateTime | NuiDateDes dates et heures, ou des dates seules pour les événements sur toute la journée.
allDayPropriétébooleanPar défaut, vrai quand start n’a pas d’heure.
tonePropriété'accent' | 'neutral' | 'success' | 'warning' | 'danger''accent'Sa palette.
color, classPropriétéstringToute couleur CSS, qui l’emporte sur son ton, et des classes pour le styler.
resourcePropriétéstring | string[]Les ressources auxquelles il appartient.
rrulePropriétéstringUne règle de récurrence de la RFC 5545, comme FREQ=WEEKLY;BYDAY=MO.
exdatePropriétéstring[]Les débuts des occurrences qui n’ont pas lieu.
recurrenceIdPropriétéNuiDateTime | NuiDateSur une occurrence que signale le planificateur : le début que sa règle lui a donné.
editablePropriétébooleanS’il peut être déplacé, quoi qu’en dise le planificateur.
dataPropriétéTTout ce que vous voulez garder avec lui.

NuiSchedulerResource

Une salle, une personne ou une machine à laquelle appartiennent des événements.

NuiSchedulerResource: Propriétés
NomTypePar défautDescription
id, titlePropriétéstringSa clé, et le nom qu’elle affiche.
tone, colorPropriétéNuiSchedulerTone, stringLes couleurs de ses événements, sauf s’ils ont les leurs.
businessHoursPropriétéNuiSchedulerHours[]Quand elle est disponible, à la place des heures de travail du planificateur.
dataPropriétéRTout ce que vous voulez garder avec elle.

Helpers

Des fonctions pour les événements récurrents et les fichiers iCalendar.

Helpers: Propriétés
NomTypePar défautDescription
nuiSchedulerOccurrencesMéthode(event, first, last) => NuiSchedulerEvent[]Un événement tel qu’il apparaît sur les jours donnés : chaque occurrence, s’il se répète.
nuiSchedulerRuleMéthode(text: string) => NuiSchedulerRule | nullLit une règle de récurrence, ou renvoie null.
nuiSchedulerToIcsMéthode(events, options?) => stringÉcrit des événements dans un fichier iCalendar.
nuiSchedulerFromIcsMéthode(text, { timeZone? }) => NuiSchedulerEvent[]Lit les événements d’un fichier iCalendar, avec leurs heures dans un seul fuseau horaire.