Impor

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

NuiScheduler

Acara per bulan, minggu, hari, dalam agenda, atau di timeline.

NuiScheduler: Properti
NamaTipeDefaultDeskripsi
eventsPropNuiSchedulerEvent<T>[][]Acara yang ditampilkan.
resourcesPropNuiSchedulerResource[][]Ruangan, orang, atau mesin: baris di timeline, dan kolom di tampilan hari dan minggu.
view
defaultView
onViewChangeState
'month' | 'week' | 'day' | 'agenda' | 'timeline''week'Tampilan saat ini.
viewsPropNuiSchedulerView[]allTampilan yang bisa dipilih pengguna. Default-nya semua, timeline hanya jika ada sumber daya.
timelineSpanProp'day' | 'week' | 'month''day'Yang ditampilkan timeline: sehari per slot, atau seminggu atau sebulan per hari.
date
defaultDate
onDateChangeState
NuiDatetodayHari yang ditampilkan, sekaligus posisi keyboard. Teruskan defaultDate saat penjadwal dirender di server: “hari ini” di server belum tentu sama dengan milik pembaca.
slotMinutesPropnumber30Menit per baris grid waktu, atau per kolom timeline sehari.
snapMinutesPropnumberslotMinutesLangkah pergeseran dan perubahan ukuran acara.
dayStart, dayEndPropnumber0, 24Jam awal dan akhir yang ditampilkan grid waktu.
scrollHourPropnumber8Jam yang terlihat saat grid waktu dibuka.
agendaDaysPropnumber30Berapa hari ke depan yang dicakup agenda.
businessHoursPropNuiSchedulerHours[]Jam kerja, misalnya { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' }. Waktu lainnya diarsir.
weekendsPropbooleantrueMenampilkan akhir pekan. Tanpanya, setiap tampilan menyembunyikan akhir pekan sesuai locale.
weekNumbersPropbooleanfalseMenampilkan nomor minggu ISO di tampilan bulan, dan di atas kolom waktu.
editablePropbooleanfalseAcara bisa dipindah dan diubah ukurannya, dengan pointer maupun keyboard.
selectablePropbooleanfalseWaktu bisa dipilih di grid untuk membuat acara.
allowProp(time) => booleanMenentukan apakah pemindahan, perubahan ukuran, atau pemilihan waktu boleh terjadi.
toolbarPropboolean | ((toolbar: NuiSchedulerToolbar) => ReactNode)trueMenampilkan toolbar, atau menggambar toolbar buatan Anda dari data yang diterimanya.
firstDayProp1 … 7Hari pertama dalam minggu, 1 untuk Senin. Default-nya mengikuti locale.
headingLevelPropnumber2Level heading untuk judul; hari-hari di agenda satu level lebih dalam.
localePropstring'en-US'Memformat hari dan waktu.
labelsPropPartial<NuiSchedulerLabels>Semua teks yang ditampilkan atau diumumkan penjadwal, untuk diterjemahkan.
cornersPropNuiCornersBentuk sudut: round, squircle, bevel, scoop, notch, atau square.
radiusPropNuiRadiusSeberapa bulat sudutnya: none, small, medium, large, atau full.
densityPropNuiDensitySeberapa banyak ruang yang digunakan komponen: compact, regular, atau roomy.
renderEventRender prop(event, { time }) => ReactNodeUntuk menggambar acara sendiri, dari acara dan waktunya dalam bentuk teks.
renderResourceRender prop(resource) => ReactNodeUntuk menggambar header sumber daya sendiri.
onEventClickCallback(event: NuiSchedulerEvent<T>) => voidDipanggil dengan acara yang diklik, atau dibuka dengan Enter.
onEventChangeCallback({ event, start, end, resource? }) => voidDipanggil dengan waktu baru acara setelah dipindah atau diubah ukurannya, serta sumber dayanya jika berubah. Perbarui events untuk menyimpan perubahan.
onSlotSelectCallback({ start, end, allDay, resource? }) => voidDipanggil dengan waktu yang dipilih di grid, beserta sumber dayanya.
onRangeChangeCallback({ start, end }) => voidDipanggil dengan hari pertama dan terakhir yang ditampilkan saat keduanya berubah, untuk memuat acaranya.
refPropRef<NuiSchedulerHandle>Yang bisa dijangkau lewat ref penjadwal: perpindahan halaman, untuk toolbar buatan sendiri.
previous, next, goTodayMetode() => voidMenampilkan halaman sebelumnya atau berikutnya, atau hari ini, untuk toolbar buatan sendiri.
titlePropertistringApa yang ditampilkan, seperti yang tertulis di judul toolbar.

State bekerja seperti input bawaan React: teruskan nilai dan perbarui lewat callback on…Change-nya, atau teruskan nilai default… dan biarkan komponen yang menyimpannya.

Prop kustomisasi yang tidak Anda atur akan mengikuti atribut data-nui-* terdekat. Lihat panduan kustomisasi.

NuiSchedulerToolbar

Yang diterima fungsi toolbar, untuk menggambar toolbar buatan sendiri.

NuiSchedulerToolbar: Properti
NamaTipeDefaultDeskripsi
titlePropertistringApa yang ditampilkan, seperti yang tertulis di judul toolbar.
view, viewsPropertiNuiSchedulerView, NuiSchedulerView[]Tampilan saat ini, dan tampilan yang tersedia.
setView, previous, next, goTodayMetode(view?) => voidMengganti tampilan, menampilkan halaman sebelumnya atau berikutnya, atau hari ini.

NuiSchedulerEvent

Sebuah acara. Akhir acara berwaktu tidak termasuk; akhir acara sepanjang hari adalah hari terakhirnya.

NuiSchedulerEvent: Properti
NamaTipeDefaultDeskripsi
id, titlePropertistringKuncinya, dan teks yang ditampilkannya.
start, endPropertiNuiDateTime | NuiDateTanggal dan waktu, atau tanggal saja untuk acara sepanjang hari.
allDayPropertibooleanDefault-nya aktif jika start tidak memiliki waktu.
toneProperti'accent' | 'neutral' | 'success' | 'warning' | 'danger''accent'Paletnya.
color, classPropertistringWarna CSS apa pun, yang menimpa tone-nya, serta class untuk menatanya.
resourcePropertistring | string[]Sumber daya yang memiliki acara ini.
rrulePropertistringAturan pengulangan dari RFC 5545, misalnya FREQ=WEEKLY;BYDAY=MO.
exdatePropertistring[]Waktu mulai kemunculan yang tidak berlangsung.
recurrenceIdPropertiNuiDateTime | NuiDatePada kemunculan yang dilaporkan penjadwal: waktu mulai yang diberikan aturannya.
editablePropertibooleanApakah acara ini bisa dipindah, apa pun pengaturan penjadwal.
dataPropertiTData lain apa pun yang ingin disimpan bersamanya.

NuiSchedulerResource

Ruangan, orang, atau mesin yang memiliki acara.

NuiSchedulerResource: Properti
NamaTipeDefaultDeskripsi
id, titlePropertistringKuncinya, dan nama yang ditampilkannya.
tone, colorPropertiNuiSchedulerTone, stringWarna acaranya, kecuali acara itu punya warna sendiri.
businessHoursPropertiNuiSchedulerHours[]Kapan sumber daya ini tersedia, menggantikan jam kerja penjadwal.
dataPropertiRData lain apa pun yang ingin disimpan bersamanya.

Helpers

Fungsi untuk acara berulang dan file iCalendar.

Helpers: Properti
NamaTipeDefaultDeskripsi
nuiSchedulerOccurrencesMetode(event, first, last) => NuiSchedulerEvent[]Acara sebagaimana tampil pada hari-hari yang diberikan: setiap kemunculan acara berulang.
nuiSchedulerRuleMetode(text: string) => NuiSchedulerRule | nullMembaca aturan pengulangan, atau mengembalikan null.
nuiSchedulerToIcsMetode(events, options?) => stringMenulis acara sebagai file iCalendar.
nuiSchedulerFromIcsMetode(text, { timeZone? }) => NuiSchedulerEvent[]Membaca acara dari file iCalendar, dengan waktunya dalam satu zona waktu.