Importação
import { NuiScheduler, type NuiSchedulerHandle } from '@needless-ui/react/scheduler';NuiScheduler
Eventos em um mês, uma semana, um dia, uma agenda ou uma timeline.
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
eventsProp | NuiSchedulerEvent<T>[] | [] | Os eventos a exibir. |
resourcesProp | NuiSchedulerResource[] | [] | Salas, pessoas ou máquinas: linhas da timeline e colunas do dia e da semana. |
viewdefaultViewonViewChangeEstado | 'month' | 'week' | 'day' | 'agenda' | 'timeline' | 'week' | A visualização exibida. |
viewsProp | NuiSchedulerView[] | all | As visualizações entre as quais é possível alternar. Por padrão, todas; a timeline, só com recursos. |
timelineSpanProp | 'day' | 'week' | 'month' | 'day' | O que a timeline mostra: um dia por faixas de horário, ou uma semana ou um mês por dias. |
datedefaultDateonDateChangeEstado | NuiDate | today | O dia exibido, onde também está o foco do teclado. Passe defaultDate quando um servidor renderizar o agendador: o dia de hoje no servidor pode não ser o mesmo de quem lê. |
slotMinutesProp | number | 30 | Minutos por linha da grade de horários, ou por coluna da timeline de um dia. |
snapMinutesProp | number | slotMinutes | O passo com que os eventos se movem e são redimensionados. |
dayStart, dayEndProp | number | 0, 24 | As horas em que a grade de horários começa e termina. |
scrollHourProp | number | 8 | A hora em que a grade de horários abre. |
agendaDaysProp | number | 30 | Quantos dias à frente a agenda mostra. |
businessHoursProp | NuiSchedulerHours[] | O horário de trabalho, como { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' }. O resto do tempo fica sombreado. | |
weekendsProp | boolean | true | Mostra o fim de semana. Sem ele, todas as visualizações ocultam o fim de semana da localidade. |
weekNumbersProp | boolean | false | Mostra os números de semana ISO no mês e acima dos horários. |
editableProp | boolean | false | Os eventos podem ser movidos e redimensionados, com o ponteiro e com o teclado. |
selectableProp | boolean | false | É possível escolher um horário na grade, para criar eventos. |
allowProp | (time) => boolean | Decide se um evento pode ser movido ou redimensionado, ou um horário escolhido. | |
toolbarProp | boolean | ((toolbar: NuiSchedulerToolbar) => ReactNode) | true | Mostra a barra de ferramentas, ou uma função desenha a sua a partir do que recebe. |
firstDayProp | 1 … 7 | O primeiro dia da semana, 1 para segunda-feira. Por padrão, o da localidade. | |
headingLevelProp | number | 2 | O nível do título; os dias da agenda ficam um nível abaixo. |
localeProp | string | 'en-US' | Formata dias e horários. |
labelsProp | Partial<NuiSchedulerLabels> | Todo texto que o agendador mostra ou anuncia, para traduzir. | |
cornersProp | NuiCorners | O formato dos cantos: round, squircle, bevel, scoop, notch ou square. | |
radiusProp | NuiRadius | O tamanho dos cantos: none, small, medium, large ou full. | |
densityProp | NuiDensity | Quanto espaço ele ocupa: compact, regular ou roomy. | |
renderEventRender prop | (event, { time }) => ReactNode | Desenhe você mesmo os eventos, a partir do evento e do horário dele como texto. | |
renderResourceRender prop | (resource) => ReactNode | Desenhe você mesmo os cabeçalhos dos recursos. | |
onEventClickCallback | (event: NuiSchedulerEvent<T>) => void | Chamado com um evento clicado, ou aberto com Enter. | |
onEventChangeCallback | ({ event, start, end, resource? }) => void | Chamado com os novos horários de um evento depois de movê-lo ou redimensioná-lo, e os recursos dele quando mudaram. Atualize events para manter a mudança. | |
onSlotSelectCallback | ({ start, end, allDay, resource? }) => void | Chamado com o horário escolhido na grade e o recurso dele. | |
onRangeChangeCallback | ({ start, end }) => void | Chamado com o primeiro e o último dia exibidos quando eles mudam, para carregar os eventos deles. | |
refProp | Ref<NuiSchedulerHandle> | O que a ref do agendador expõe: a troca de página, para uma barra de ferramentas própria. | |
previous, next, goTodayMétodo | () => void | Mostram a página anterior ou seguinte, ou a de hoje, para uma barra de ferramentas própria. | |
titlePropriedade | string | O que está sendo exibido, como diz o título da barra de ferramentas. |
O estado funciona como nos campos de formulário do React: passe um valor e atualize-o pelo callback on…Change dele, ou passe um valor default… e deixe o componente guardá-lo.
As props de personalização que você não definir seguem o atributo data-nui-* mais próximo. Veja o guia de personalização.
NuiSchedulerToolbar
O que uma função toolbar recebe, para desenhar uma barra de ferramentas própria.
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
titlePropriedade | string | O que está sendo exibido, como diz o título da barra de ferramentas. | |
view, viewsPropriedade | NuiSchedulerView, NuiSchedulerView[] | A visualização exibida e as visualizações oferecidas. | |
setView, previous, next, goTodayMétodo | (view?) => void | Trocam a visualização, ou mostram a página anterior ou seguinte, ou a de hoje. |
NuiSchedulerEvent
Um evento. O fim de um evento com horário não é incluído; o de um evento de dia inteiro é o último dia dele.
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
id, titlePropriedade | string | A chave dele, e o que ele mostra. | |
start, endPropriedade | NuiDateTime | NuiDate | Datas e horários, ou só datas para eventos de dia inteiro. | |
allDayPropriedade | boolean | Por padrão, se start não tem horário. | |
tonePropriedade | 'accent' | 'neutral' | 'success' | 'warning' | 'danger' | 'accent' | A paleta dele. |
color, classPropriedade | string | Qualquer cor CSS, que prevalece sobre o tom, e classes para estilizá-lo. | |
resourcePropriedade | string | string[] | Os recursos aos quais ele pertence. | |
rrulePropriedade | string | Uma regra de repetição da RFC 5545, como FREQ=WEEKLY;BYDAY=MO. | |
exdatePropriedade | string[] | Os inícios das ocorrências que não acontecem. | |
recurrenceIdPropriedade | NuiDateTime | NuiDate | Em uma ocorrência informada pelo agendador: o início que a regra deu a ela. | |
editablePropriedade | boolean | Se ele pode ser movido, independentemente do que diz o agendador. | |
dataPropriedade | T | Qualquer outra coisa para guardar junto com ele. |
NuiSchedulerResource
Uma sala, uma pessoa ou uma máquina à qual pertencem eventos.
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
id, titlePropriedade | string | A chave dele, e o nome que ele mostra. | |
tone, colorPropriedade | NuiSchedulerTone, string | As cores dos eventos dele, a menos que tenham cores próprias. | |
businessHoursPropriedade | NuiSchedulerHours[] | Quando ele está disponível, em vez do horário de trabalho do agendador. | |
dataPropriedade | R | Qualquer outra coisa para guardar junto com ele. |
Helpers
Funções para eventos que se repetem e arquivos iCalendar.
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
nuiSchedulerOccurrencesMétodo | (event, first, last) => NuiSchedulerEvent[] | Um evento como aparece nos dias dados: cada ocorrência, se ele se repete. | |
nuiSchedulerRuleMétodo | (text: string) => NuiSchedulerRule | null | Lê uma regra de repetição, ou retorna null. | |
nuiSchedulerToIcsMétodo | (events, options?) => string | Escreve eventos como um arquivo iCalendar. | |
nuiSchedulerFromIcsMétodo | (text, { timeZone? }) => NuiSchedulerEvent[] | Lê os eventos de um arquivo iCalendar, com os horários em um só fuso horário. |