ایمپورت

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

NuiScheduler

رویدادها در نمای ماه، هفته، روز، برنامه یا خط زمانی.

NuiScheduler: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
eventsپراپNuiSchedulerEvent<T>[][]رویدادهایی که نمایش داده می‌شوند.
resourcesپراپNuiSchedulerResource[][]اتاق‌ها، افراد یا دستگاه‌ها: ردیف‌های خط زمانی و ستون‌های نمای روز و هفته.
view
defaultView
onViewChangeوضعیت
'month' | 'week' | 'day' | 'agenda' | 'timeline''week'نمایی که نشان داده می‌شود.
viewsپراپNuiSchedulerView[]allنماهایی که کاربران می‌توانند بینشان جابه‌جا شوند. پیش‌فرض: همه، و خط زمانی فقط وقتی منبعی باشد.
timelineSpanپراپ'day' | 'week' | 'month''day'آنچه خط زمانی نشان می‌دهد: یک روز با بازه‌های زمانی‌اش، یا یک هفته یا ماه با روزهایش.
date
defaultDate
onDateChangeوضعیت
NuiDatetodayروزی که نمایش داده می‌شود و جایی که فوکوس صفحه‌کلید است. وقتی سرور زمان‌بند را رندر می‌کند، defaultDate را بدهید: «امروزِ» سرور ممکن است «امروزِ» خواننده نباشد.
slotMinutesپراپnumber30دقیقه‌های هر ردیف جدول زمانی، یا هر ستون خط زمانی یک روز.
snapMinutesپراپnumberslotMinutesگامی که رویدادها با آن جابه‌جا می‌شوند و اندازه‌شان تغییر می‌کند.
dayStart, dayEndپراپnumber0, 24ساعت شروع و پایان جدول زمانی.
scrollHourپراپnumber8ساعتی که جدول زمانی روی آن باز می‌شود.
agendaDaysپراپnumber30تعداد روزهای پیش رو که نمای برنامه نشان می‌دهد.
businessHoursپراپNuiSchedulerHours[]ساعت‌های کاری، مثل { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' }. بقیهٔ زمان سایه‌دار می‌شود.
weekendsپراپbooleantrueآخر هفته را نشان می‌دهد. بدون آن، همهٔ نماها آخر هفتهٔ زبان و منطقه را حذف می‌کنند.
weekNumbersپراپbooleanfalseشمارهٔ هفته‌ها را طبق ISO در نمای ماه و بالای ساعت‌ها نشان می‌دهد.
editableپراپbooleanfalseمی‌توان رویدادها را با نشانگر و صفحه‌کلید جابه‌جا کرد و اندازه‌شان را تغییر داد.
selectableپراپbooleanfalseمی‌توان روی جدول، زمانی را برای ساختن رویداد انتخاب کرد.
allowپراپ(time) => booleanتعیین می‌کند که جابه‌جایی، تغییر اندازه یا انتخاب زمان مجاز است یا نه.
toolbarپراپboolean | ((toolbar: NuiSchedulerToolbar) => ReactNode)trueنوار ابزار را نشان می‌دهد، یا با آنچه دریافت می‌کند نوار ابزار خودتان را رسم می‌کند.
firstDayپراپ1 … 7روز اول هفته؛ ۱ یعنی دوشنبه. پیش‌فرض: روز اول هفته در زبان و منطقه.
headingLevelپراپnumber2سطح سرتیتر عنوان؛ روزهای نمای برنامه یک سطح پایین‌ترند.
localeپراپstring'en-US'روزها و ساعت‌ها را قالب‌بندی می‌کند.
labelsپراپPartial<NuiSchedulerLabels>همهٔ متن‌هایی که زمان‌بند نشان می‌دهد یا اعلام می‌کند، برای ترجمه.
cornersپراپNuiCornersشکل گوشه‌هایش: round، squircle، bevel، scoop، notch یا square.
radiusپراپNuiRadiusاندازهٔ گوشه‌هایش: none، small، medium، large یا full.
densityپراپNuiDensityفضایی که اشغال می‌کند: compact، regular یا roomy.
renderEventرندر پراپ(event, { time }) => ReactNodeبا آن رویدادها را خودتان رسم می‌کنید، از روی رویداد و زمانش به‌صورت متن.
renderResourceرندر پراپ(resource) => ReactNodeبا آن سرِ ردیف یا ستون منابع را خودتان رسم می‌کنید.
onEventClickکال‌بک(event: NuiSchedulerEvent<T>) => voidبا رویدادی که رویش کلیک شده یا با Enter باز شده صدا زده می‌شود.
onEventChangeکال‌بک({ event, start, end, resource? }) => voidپس از جابه‌جایی یا تغییر اندازه، با زمان‌های جدید رویداد صدا زده می‌شود، و اگر منابعش تغییر کرده باشند، با آن‌ها هم. برای نگه‌داشتن تغییر، events را به‌روز کنید.
onSlotSelectکال‌بک({ start, end, allDay, resource? }) => voidبا زمان انتخاب‌شده روی جدول و منبع آن صدا زده می‌شود.
onRangeChangeکال‌بک({ start, end }) => voidوقتی اولین و آخرین روز نمایش‌داده‌شده تغییر می‌کنند، با آن‌ها صدا زده می‌شود تا رویدادهایشان را بارگذاری کنید.
refپراپRef<NuiSchedulerHandle>آنچه از ref زمان‌بند در دسترس است: ورق زدن صفحه‌ها، برای نوار ابزاری که خودتان می‌سازید.
previous, next, goTodayمتد() => voidصفحهٔ قبلی یا بعدی، یا امروز را نشان می‌دهند، برای نوار ابزاری که خودتان می‌سازید.
titleویژگیstringآنچه نمایش داده می‌شود، همان‌طور که عنوان نوار ابزار می‌گوید.

وضعیت مثل فیلدهای ورودی خود React کار می‌کند: یک مقدار بدهید و آن را از کال‌بک on…Change آن به‌روز کنید، یا یک مقدار default… بدهید و بگذارید کامپوننت خودش نگهش دارد.

پراپ‌های سفارشی‌سازی که تنظیمشان نکنید، از نزدیک‌ترین اتریبیوت data-nui-* پیروی می‌کنند. راهنمای سفارشی‌سازی را ببینید.

NuiSchedulerToolbar

آنچه تابع toolbar دریافت می‌کند تا نوار ابزار خودتان را رسم کند.

NuiSchedulerToolbar: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
titleویژگیstringآنچه نمایش داده می‌شود، همان‌طور که عنوان نوار ابزار می‌گوید.
view, viewsویژگیNuiSchedulerView, NuiSchedulerView[]نمایی که نشان داده می‌شود و نماهایی که ارائه می‌شوند.
setView, previous, next, goTodayمتد(view?) => voidنما را عوض می‌کنند، صفحهٔ قبلی یا بعدی را نشان می‌دهند، یا امروز را.

NuiSchedulerEvent

یک رویداد. پایانِ رویداد زمان‌دار جزو آن نیست؛ پایانِ رویداد تمام‌روز، آخرین روز آن است.

NuiSchedulerEvent: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
id, titleویژگیstringکلید آن و آنچه نشان می‌دهد.
start, endویژگیNuiDateTime | NuiDateتاریخ و زمان، یا فقط تاریخ برای رویدادهای تمام‌روز.
allDayویژگیbooleanپیش‌فرض: اینکه start زمان ندارد.
toneویژگی'accent' | 'neutral' | 'success' | 'warning' | 'danger''accent'پالت رنگ آن.
color, classویژگیstringهر رنگ CSS، که بر پالتش مقدم است، و کلاس‌هایی برای استایل دادن به آن.
resourceویژگیstring | string[]منابعی که رویداد به آن‌ها تعلق دارد.
rruleویژگیstringیک قاعدهٔ تکرار از RFC 5545، مثل FREQ=WEEKLY;BYDAY=MO.
exdateویژگیstring[]زمان شروع نوبت‌هایی که برگزار نمی‌شوند.
recurrenceIdویژگیNuiDateTime | NuiDateروی نوبتی که زمان‌بند گزارش می‌دهد: شروعی که قاعده‌اش به آن داده است.
editableویژگیbooleanاینکه می‌توان جابه‌جایش کرد یا نه، فارغ از تنظیم زمان‌بند.
dataویژگیTهر چیز دیگری که باید همراهش بماند.

NuiSchedulerResource

اتاق، فرد یا دستگاهی که رویدادها به آن تعلق دارند.

NuiSchedulerResource: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
id, titleویژگیstringکلید آن و نامی که نشان می‌دهد.
tone, colorویژگیNuiSchedulerTone, stringرنگ‌های رویدادهایش، مگر رویدادها رنگ خودشان را داشته باشند.
businessHoursویژگیNuiSchedulerHours[]زمان‌هایی که در دسترس است، به‌جای ساعت‌های کاری زمان‌بند.
dataویژگیRهر چیز دیگری که باید همراهش بماند.

Helpers

توابعی برای رویدادهای تکرارشونده و فایل‌های iCalendar.

Helpers: ویژگی‌ها
نامنوعپیش‌فرضتوضیح
nuiSchedulerOccurrencesمتد(event, first, last) => NuiSchedulerEvent[]رویداد همان‌طور که در روزهای داده‌شده دیده می‌شود: هر نوبتِ رویداد تکرارشونده.
nuiSchedulerRuleمتد(text: string) => NuiSchedulerRule | nullیک قاعدهٔ تکرار را می‌خواند، یا null برمی‌گرداند.
nuiSchedulerToIcsمتد(events, options?) => stringرویدادها را به‌صورت فایل iCalendar می‌نویسد.
nuiSchedulerFromIcsمتد(text, { timeZone? }) => NuiSchedulerEvent[]رویدادهای یک فایل iCalendar را می‌خواند، با زمان‌هایشان در یک منطقهٔ زمانی.