Importación
import { NuiScheduler, type NuiSchedulerHandle } from '@needless-ui/react/scheduler';NuiScheduler
Eventos en un mes, una semana, un día, una agenda o una línea de tiempo.
| Nombre | Tipo | Predeterminado | Descripción |
|---|---|---|---|
eventsProp | NuiSchedulerEvent<T>[] | [] | Los eventos que se muestran. |
resourcesProp | NuiSchedulerResource[] | [] | Salas, personas o máquinas: filas de la línea de tiempo y columnas del día y la semana. |
viewdefaultViewonViewChangeEstado | 'month' | 'week' | 'day' | 'agenda' | 'timeline' | 'week' | La vista que se muestra. |
viewsProp | NuiSchedulerView[] | all | Las vistas entre las que se puede cambiar. Por defecto, todas; la línea de tiempo, solo con recursos. |
timelineSpanProp | 'day' | 'week' | 'month' | 'day' | Lo que muestra la línea de tiempo: un día por franjas, o una semana o un mes por días. |
datedefaultDateonDateChangeEstado | NuiDate | today | El día que se muestra, donde también está el foco del teclado. Pasa defaultDate cuando un servidor renderice el planificador: el día de hoy del servidor puede no ser el de quien lee. |
slotMinutesProp | number | 30 | Minutos por fila de la cuadrícula horaria, o por columna de la línea de tiempo de un día. |
snapMinutesProp | number | slotMinutes | El paso con el que se mueven y redimensionan los eventos. |
dayStart, dayEndProp | number | 0, 24 | Desde qué hora y hasta qué hora muestra la cuadrícula horaria. |
scrollHourProp | number | 8 | La hora en la que se abre la cuadrícula horaria. |
agendaDaysProp | number | 30 | Cuántos días por delante muestra la agenda. |
businessHoursProp | NuiSchedulerHours[] | El horario laboral, como { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' }. El resto del tiempo aparece sombreado. | |
weekendsProp | boolean | true | Muestra el fin de semana. Sin él, todas las vistas omiten el fin de semana de la configuración regional. |
weekNumbersProp | boolean | false | Muestra los números de semana ISO en el mes y encima de las horas. |
editableProp | boolean | false | Los eventos se pueden mover y redimensionar, con el puntero y con el teclado. |
selectableProp | boolean | false | Se puede elegir un intervalo en la cuadrícula, para crear eventos. |
allowProp | (time) => boolean | Decide si se permite mover o redimensionar un evento, o elegir un intervalo. | |
toolbarProp | boolean | ((toolbar: NuiSchedulerToolbar) => ReactNode) | true | Muestra la barra de herramientas, o dibuja una propia a partir de lo que recibe. |
firstDayProp | 1 … 7 | El primer día de la semana, 1 para el lunes. Por defecto, el de la configuración regional. | |
headingLevelProp | number | 2 | El nivel de encabezado del título; los días de la agenda bajan un nivel más. |
localeProp | string | 'en-US' | Da formato a los días y las horas. |
labelsProp | Partial<NuiSchedulerLabels> | Todos los textos que el planificador muestra o anuncia, para traducirlos. | |
cornersProp | NuiCorners | La forma de sus esquinas: round, squircle, bevel, scoop, notch o square. | |
radiusProp | NuiRadius | El tamaño de sus esquinas: none, small, medium, large o full. | |
densityProp | NuiDensity | Cuánto espacio ocupa: compact, regular o roomy. | |
renderEventRender prop | (event, { time }) => ReactNode | Dibuja tú los eventos, a partir del evento y su horario como texto. | |
renderResourceRender prop | (resource) => ReactNode | Dibuja tú los encabezados de los recursos. | |
onEventClickCallback | (event: NuiSchedulerEvent<T>) => void | Se llama con el evento en el que se hace clic, o que se abre con Intro. | |
onEventChangeCallback | ({ event, start, end, resource? }) => void | Se llama con las horas nuevas de un evento tras moverlo o redimensionarlo, y sus recursos si han cambiado. Actualiza events para conservar el cambio. | |
onSlotSelectCallback | ({ start, end, allDay, resource? }) => void | Se llama con el intervalo elegido en la cuadrícula y su recurso. | |
onRangeChangeCallback | ({ start, end }) => void | Se llama con el primer y el último día que se muestran cuando cambian, para cargar sus eventos. | |
refProp | Ref<NuiSchedulerHandle> | Lo que expone la ref del planificador: el cambio de página, para una barra de herramientas propia. | |
previous, next, goTodayMétodo | () => void | Muestran la página anterior o siguiente, o la de hoy, para una barra de herramientas propia. | |
titlePropiedad | string | Lo que se muestra, tal como lo dice el título de la barra de herramientas. |
El estado funciona como en los campos de formulario de React: pasa un valor y actualízalo desde su callback on…Change, o pasa un valor default… y deja que el componente lo guarde.
Las props de personalización que no definas siguen el atributo data-nui-* más cercano. Consulta la guía de personalización.
NuiSchedulerToolbar
Lo que recibe una función toolbar, para dibujar una barra de herramientas propia.
| Nombre | Tipo | Predeterminado | Descripción |
|---|---|---|---|
titlePropiedad | string | Lo que se muestra, tal como lo dice el título de la barra de herramientas. | |
view, viewsPropiedad | NuiSchedulerView, NuiSchedulerView[] | La vista que se muestra y las vistas que se ofrecen. | |
setView, previous, next, goTodayMétodo | (view?) => void | Cambian la vista, o muestran la página anterior o siguiente, o la de hoy. |
NuiSchedulerEvent
Un evento. El final de un evento con hora no se incluye; el de un evento de todo el día es su último día.
| Nombre | Tipo | Predeterminado | Descripción |
|---|---|---|---|
id, titlePropiedad | string | Su clave, y lo que muestra. | |
start, endPropiedad | NuiDateTime | NuiDate | Fechas y horas, o solo fechas para los eventos de todo el día. | |
allDayPropiedad | boolean | Por defecto, si start no tiene hora. | |
tonePropiedad | 'accent' | 'neutral' | 'success' | 'warning' | 'danger' | 'accent' | Su paleta. |
color, classPropiedad | string | Cualquier color CSS, que se impone a su tono, y clases para darle estilo. | |
resourcePropiedad | string | string[] | Los recursos a los que pertenece. | |
rrulePropiedad | string | Una regla de repetición según RFC 5545, como FREQ=WEEKLY;BYDAY=MO. | |
exdatePropiedad | string[] | Los inicios de las repeticiones que no tienen lugar. | |
recurrenceIdPropiedad | NuiDateTime | NuiDate | En una repetición que comunica el planificador: el inicio que le dio su regla. | |
editablePropiedad | boolean | Si se puede mover, diga lo que diga el planificador. | |
dataPropiedad | T | Cualquier otra cosa que quieras guardar con él. |
NuiSchedulerResource
Una sala, una persona o una máquina a la que pertenecen eventos.
| Nombre | Tipo | Predeterminado | Descripción |
|---|---|---|---|
id, titlePropiedad | string | Su clave, y el nombre que muestra. | |
tone, colorPropiedad | NuiSchedulerTone, string | Los colores de sus eventos, salvo que tengan los suyos. | |
businessHoursPropiedad | NuiSchedulerHours[] | Cuándo está disponible, en lugar del horario laboral del planificador. | |
dataPropiedad | R | Cualquier otra cosa que quieras guardar con él. |
Helpers
Funciones para eventos que se repiten y archivos iCalendar.
| Nombre | Tipo | Predeterminado | Descripción |
|---|---|---|---|
nuiSchedulerOccurrencesMétodo | (event, first, last) => NuiSchedulerEvent[] | Un evento tal como aparece en los días dados: cada repetición, si se repite. | |
nuiSchedulerRuleMétodo | (text: string) => NuiSchedulerRule | null | Lee una regla de repetición, o devuelve null. | |
nuiSchedulerToIcsMétodo | (events, options?) => string | Escribe eventos como un archivo iCalendar. | |
nuiSchedulerFromIcsMétodo | (text, { timeZone? }) => NuiSchedulerEvent[] | Lee los eventos de un archivo iCalendar, con sus horas en una sola zona horaria. |