الاستيراد
import { NuiScheduler, type NuiSchedulerHandle } from '@needless-ui/react/scheduler';NuiScheduler
أحداث في شهر أو أسبوع أو يوم أو جدول أعمال أو خط زمني.
| الاسم | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
eventsخاصية (prop) | NuiSchedulerEvent<T>[] | [] | الأحداث المراد عرضها. |
resourcesخاصية (prop) | NuiSchedulerResource[] | [] | القاعات أو الأشخاص أو الآلات: صفوف الخط الزمني، وأعمدة اليوم والأسبوع. |
viewdefaultViewonViewChangeحالة | 'month' | 'week' | 'day' | 'agenda' | 'timeline' | 'week' | طريقة العرض الحالية. |
viewsخاصية (prop) | NuiSchedulerView[] | all | طرق العرض التي يمكن للمستخدمين التبديل بينها. افتراضيًا كلها، والخط الزمني فقط حين توجد موارد. |
timelineSpanخاصية (prop) | 'day' | 'week' | 'month' | 'day' | ما يعرضه الخط الزمني: يومًا بفتراته الزمنية، أو أسبوعًا أو شهرًا بأيامه. |
datedefaultDateonDateChangeحالة | NuiDate | today | اليوم المعروض، وموضع تركيز لوحة المفاتيح. مرّر defaultDate حين يعرض خادمٌ المُجدوِل، لأن «اليوم» عند الخادم قد لا يكون «اليوم» عند القارئ. |
slotMinutesخاصية (prop) | number | 30 | عدد الدقائق في كل صف من شبكة الأوقات، أو في كل عمود من الخط الزمني لليوم. |
snapMinutesخاصية (prop) | number | slotMinutes | مقدار الخطوة التي تتحرك بها الأحداث وتتغير بها مدتها. |
dayStart, dayEndخاصية (prop) | number | 0, 24 | الساعة التي تبدأ بها شبكة الأوقات، والساعة التي تنتهي عندها. |
scrollHourخاصية (prop) | number | 8 | الساعة التي تُفتح عندها شبكة الأوقات. |
agendaDaysخاصية (prop) | number | 30 | عدد الأيام القادمة التي يعرضها جدول الأعمال. |
businessHoursخاصية (prop) | NuiSchedulerHours[] | ساعات العمل، مثل { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' }. ويُظلَّل الوقت الآخر. | |
weekendsخاصية (prop) | boolean | true | يعرض عطلة نهاية الأسبوع. وعند تعطيله، تستبعد كل طرق العرض عطلة نهاية الأسبوع التي تعتمدها اللغة والمنطقة. |
weekNumbersخاصية (prop) | boolean | false | يعرض أرقام الأسابيع بمعيار ISO في عرض الشهر، وفوق الأوقات. |
editableخاصية (prop) | boolean | false | يمكن نقل الأحداث وتغيير مدتها، بالمؤشر وبلوحة المفاتيح. |
selectableخاصية (prop) | boolean | false | يمكن اختيار وقت على الشبكة، لإنشاء الأحداث. |
allowخاصية (prop) | (time) => boolean | يقرر ما إذا كان النقل أو تغيير المدة أو اختيار الوقت ممكنًا. | |
toolbarخاصية (prop) | boolean | ((toolbar: NuiSchedulerToolbar) => ReactNode) | true | يعرض شريط الأدوات، أو يرسم شريطًا من صنعك بما يتلقاه. |
firstDayخاصية (prop) | 1 … 7 | أول أيام الأسبوع، و1 هو الاثنين. وافتراضيًا، اليوم الذي تعتمده اللغة والمنطقة. | |
headingLevelخاصية (prop) | number | 2 | مستوى العنوان الرئيسي؛ وعناوين الأيام في جدول الأعمال أعمق بمستوى واحد. |
localeخاصية (prop) | string | 'en-US' | يُنسّق الأيام والأوقات. |
labelsخاصية (prop) | Partial<NuiSchedulerLabels> | كل نص يعرضه المُجدوِل أو يُعلنه، لترجمته. | |
cornersخاصية (prop) | NuiCorners | شكل زواياه: round أو squircle أو bevel أو scoop أو notch أو square. | |
radiusخاصية (prop) | NuiRadius | حجم زواياه: none أو small أو medium أو large أو full. | |
densityخاصية (prop) | 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خاصية (prop) | Ref<NuiSchedulerHandle> | ما يصل إليه ref المُجدوِل: التنقل بين الصفحات، لشريط أدوات من صنعك. | |
previous, next, goTodayدالة | () => void | تعرض الصفحة السابقة أو التالية، أو اليوم، لشريط أدوات من صنعك. | |
titleخاصية | string | ما هو معروض، كما يذكره عنوان شريط الأدوات. |
تعمل الحالة كما تعمل عناصر الإدخال في React نفسها: مرّر قيمة وحدّثها من دالة رد النداء on…Change الخاصة بها، أو مرّر قيمة default… ودع المكوّن يحتفظ بها.
خصائص التخصيص التي تتركها دون ضبط تتبع أقرب سمة data-nui-*. راجع دليل التخصيص.
NuiSchedulerToolbar
ما تتلقاه دالة toolbar، لترسم شريط أدوات من صنعك.
| الاسم | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
titleخاصية | string | ما هو معروض، كما يذكره عنوان شريط الأدوات. | |
view, viewsخاصية | NuiSchedulerView, NuiSchedulerView[] | طريقة العرض الحالية، وطرق العرض المتاحة. | |
setView, previous, next, goTodayدالة | (view?) => void | تبدّل طريقة العرض، أو تعرض الصفحة السابقة أو التالية، أو اليوم. |
NuiSchedulerEvent
حدث واحد. لا تدخل نهاية الحدث المحدد بوقت ضمنه؛ أما نهاية الحدث الذي يستغرق اليوم كله فهي آخر أيامه.
| الاسم | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
id, titleخاصية | string | مفتاحه، وما يعرضه. | |
start, endخاصية | NuiDateTime | NuiDate | تواريخ وأوقات، أو تواريخ فقط للأحداث التي تستغرق اليوم كله. | |
allDayخاصية | boolean | افتراضيًا، ما إذا كان start بلا وقت. | |
toneخاصية | 'accent' | 'neutral' | 'success' | 'warning' | 'danger' | 'accent' | لوحة ألوانه. |
color, classخاصية | string | أي لون في CSS، وله الأولوية على لوحة ألوانه، وأصناف (classes) لتنسيقه. | |
resourceخاصية | string | string[] | الموارد التي ينتمي إليها. | |
rruleخاصية | string | قاعدة تكرار من RFC 5545، مثل FREQ=WEEKLY;BYDAY=MO. | |
exdateخاصية | string[] | أوقات بدء التكرارات التي لا تحدث. | |
recurrenceIdخاصية | NuiDateTime | NuiDate | في التكرار الذي يُبلغ عنه المُجدوِل: البداية التي منحته إياها قاعدته. | |
editableخاصية | boolean | ما إذا كان يمكن نقله، أيًّا كان ما يحدده المُجدوِل. | |
dataخاصية | T | أي شيء آخر يُحفظ معه. |
NuiSchedulerResource
قاعة أو شخص أو آلة تنتمي إليها الأحداث.
| الاسم | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
id, titleخاصية | string | مفتاحه، والاسم الذي يعرضه. | |
tone, colorخاصية | NuiSchedulerTone, string | ألوان أحداثه، ما لم تكن لها ألوانها الخاصة. | |
businessHoursخاصية | NuiSchedulerHours[] | أوقات توفّره، بدلًا من ساعات عمل المُجدوِل. | |
dataخاصية | R | أي شيء آخر يُحفظ معه. |
Helpers
دوال للأحداث المتكررة وملفات iCalendar.
| الاسم | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
nuiSchedulerOccurrencesدالة | (event, first, last) => NuiSchedulerEvent[] | الحدث كما يظهر في الأيام المعطاة: كل تكرار من تكرارات الحدث المتكرر. | |
nuiSchedulerRuleدالة | (text: string) => NuiSchedulerRule | null | يقرأ قاعدة تكرار، أو يُعيد null. | |
nuiSchedulerToIcsدالة | (events, options?) => string | يكتب الأحداث في ملف iCalendar. | |
nuiSchedulerFromIcsدالة | (text, { timeZone? }) => NuiSchedulerEvent[] | يقرأ أحداث ملف iCalendar، بأوقاتها في منطقة زمنية واحدة. |