Import
import { NuiScheduler, type NuiSchedulerHandle } from '@needless-ui/react/scheduler';NuiScheduler
กิจกรรมในมุมมองเดือน สัปดาห์ วัน กำหนดการ หรือไทม์ไลน์
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
eventsProp | NuiSchedulerEvent<T>[] | [] | กิจกรรมที่จะแสดง |
resourcesProp | NuiSchedulerResource[] | [] | ห้อง บุคคล หรือเครื่องจักร ซึ่งเป็นแถวของไทม์ไลน์ และเป็นคอลัมน์ของมุมมองวันและสัปดาห์ |
viewdefaultViewonViewChangeสถานะ | 'month' | 'week' | 'day' | 'agenda' | 'timeline' | 'week' | มุมมองที่แสดงอยู่ |
viewsProp | NuiSchedulerView[] | all | มุมมองที่ผู้ใช้สลับไปมาได้ ค่าเริ่มต้นคือทุกมุมมอง โดยไทม์ไลน์จะมีเฉพาะเมื่อมีทรัพยากร |
timelineSpanProp | 'day' | 'week' | 'month' | 'day' | สิ่งที่ไทม์ไลน์แสดง คือหนึ่งวันตามช่องเวลา หรือหนึ่งสัปดาห์หรือหนึ่งเดือนตามวัน |
datedefaultDateonDateChangeสถานะ | NuiDate | today | วันที่แสดงอยู่ และตำแหน่งของโฟกัสคีย์บอร์ด เมื่อเซิร์ฟเวอร์เรนเดอร์ Scheduler ให้ส่ง defaultDate เพราะวันนี้ของเซิร์ฟเวอร์อาจไม่ใช่วันนี้ของผู้อ่าน |
slotMinutesProp | number | 30 | จำนวนนาทีต่อแถวในตารางเวลา หรือต่อคอลัมน์ในไทม์ไลน์ของหนึ่งวัน |
snapMinutesProp | number | slotMinutes | ระยะที่กิจกรรมเลื่อนและปรับขนาดในแต่ละครั้ง |
dayStart, dayEndProp | number | 0, 24 | ชั่วโมงเริ่มต้นและชั่วโมงสิ้นสุดที่ตารางเวลาแสดง |
scrollHourProp | number | 8 | ชั่วโมงที่ตารางเวลาแสดงเมื่อเปิดขึ้นมา |
agendaDaysProp | number | 30 | จำนวนวันข้างหน้าที่กำหนดการแสดง |
businessHoursProp | NuiSchedulerHours[] | เวลาทำงาน เช่น { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' } เวลาที่เหลือจะถูกแรเงา | |
weekendsProp | boolean | true | แสดงวันหยุดสุดสัปดาห์ หากไม่ใช้ ทุกมุมมองจะซ่อนวันหยุดสุดสัปดาห์ตาม locale |
weekNumbersProp | boolean | false | แสดงหมายเลขสัปดาห์แบบ ISO ในมุมมองเดือน และเหนือคอลัมน์เวลา |
editableProp | boolean | false | ย้ายและปรับขนาดกิจกรรมได้ ทั้งด้วยตัวชี้และคีย์บอร์ด |
selectableProp | boolean | false | เลือกเวลาบนตารางได้ เพื่อสร้างกิจกรรม |
allowProp | (time) => boolean | ตัดสินว่าการย้าย การปรับขนาด หรือการเลือกเวลาจะเกิดขึ้นได้หรือไม่ | |
toolbarProp | boolean | ((toolbar: NuiSchedulerToolbar) => ReactNode) | true | แสดงแถบเครื่องมือ หรือวาดแถบเครื่องมือของคุณเองจากสิ่งที่ได้รับ |
firstDayProp | 1 … 7 | วันแรกของสัปดาห์ โดย 1 คือวันจันทร์ ค่าเริ่มต้นเป็นไปตาม locale | |
headingLevelProp | number | 2 | ระดับหัวข้อของหัวเรื่อง ส่วนวันในกำหนดการจะลึกลงไปอีกหนึ่งระดับ |
localeProp | string | 'en-US' | ใช้จัดรูปแบบวันและเวลา |
labelsProp | Partial<NuiSchedulerLabels> | ข้อความทุกส่วนที่ Scheduler แสดงหรือประกาศ สำหรับการแปล | |
cornersProp | NuiCorners | รูปทรงของมุม: round squircle bevel scoop notch หรือ square | |
radiusProp | NuiRadius | ขนาดของมุม: none small medium large หรือ full | |
densityProp | NuiDensity | พื้นที่ที่ใช้: compact regular หรือ roomy | |
renderEventRender prop | (event, { time }) => ReactNode | วาดกิจกรรมเองจากตัวกิจกรรมและเวลาในรูปแบบข้อความ | |
renderResourceRender prop | (resource) => ReactNode | วาดส่วนหัวของทรัพยากรเอง | |
onEventClickCallback | (event: NuiSchedulerEvent<T>) => void | ถูกเรียกพร้อมกิจกรรมที่ถูกคลิกหรือถูกเปิดด้วย Enter | |
onEventChangeCallback | ({ event, start, end, resource? }) => void | ถูกเรียกพร้อมเวลาใหม่ของกิจกรรมหลังการย้ายหรือปรับขนาด รวมถึงทรัพยากรเมื่อมีการเปลี่ยน ให้อัปเดต events เพื่อเก็บการเปลี่ยนแปลงไว้ | |
onSlotSelectCallback | ({ start, end, allDay, resource? }) => void | ถูกเรียกพร้อมเวลาที่เลือกบนตารางและทรัพยากรของเวลานั้น | |
onRangeChangeCallback | ({ start, end }) => void | ถูกเรียกพร้อมวันแรกและวันสุดท้ายที่แสดงเมื่อมีการเปลี่ยนแปลง เพื่อโหลดกิจกรรมของช่วงนั้น | |
refProp | Ref<NuiSchedulerHandle> | สิ่งที่เข้าถึงได้ผ่าน ref ของ Scheduler คือการเปลี่ยนหน้า สำหรับแถบเครื่องมือที่คุณสร้างเอง | |
previous, next, goTodayเมธอด | () => void | แสดงหน้าก่อนหน้าหรือถัดไป หรือวันนี้ สำหรับแถบเครื่องมือที่คุณสร้างเอง | |
titleพร็อพเพอร์ตี | string | สิ่งที่กำลังแสดงอยู่ ตามที่หัวเรื่องของแถบเครื่องมือบอก |
สถานะทำงานเหมือน input ของ React เอง คือส่งค่าเข้าไปแล้วอัปเดตจาก callback on…Change ของค่านั้น หรือส่งค่า default… แล้วปล่อยให้คอมโพเนนต์เก็บค่าไว้เอง
Prop สำหรับการปรับแต่งที่ไม่ได้กำหนดค่าไว้ จะใช้ค่าตาม attribute 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 ใดก็ได้ ซึ่งมีผลเหนือโทนสี และคลาสสำหรับกำหนดสไตล์ของกิจกรรม | |
resourceพร็อพเพอร์ตี | string | string[] | ทรัพยากรที่กิจกรรมนี้สังกัด | |
rruleพร็อพเพอร์ตี | string | กฎการเกิดซ้ำตาม RFC 5545 เช่น FREQ=WEEKLY;BYDAY=MO | |
exdateพร็อพเพอร์ตี | string[] | เวลาเริ่มของครั้งที่ไม่เกิดขึ้น | |
recurrenceIdพร็อพเพอร์ตี | NuiDateTime | NuiDate | มีในแต่ละครั้งที่ Scheduler รายงาน คือเวลาเริ่มที่กฎกำหนดให้ครั้งนั้น | |
editableพร็อพเพอร์ตี | boolean | ย้ายกิจกรรมนี้ได้หรือไม่ ไม่ว่า Scheduler จะตั้งค่าไว้อย่างไร | |
dataพร็อพเพอร์ตี | T | ข้อมูลอื่นที่ต้องการเก็บไว้กับกิจกรรม |
NuiSchedulerResource
ห้อง บุคคล หรือเครื่องจักรที่กิจกรรมสังกัดอยู่
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
id, titleพร็อพเพอร์ตี | string | คีย์ของทรัพยากร และชื่อที่แสดง | |
tone, colorพร็อพเพอร์ตี | NuiSchedulerTone, string | สีของกิจกรรมในทรัพยากรนี้ เว้นแต่กิจกรรมจะมีสีของตัวเอง | |
businessHoursพร็อพเพอร์ตี | NuiSchedulerHours[] | ช่วงเวลาที่ทรัพยากรนี้ว่าง ใช้แทนเวลาทำงานของ Scheduler | |
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 โดยให้เวลาอยู่ในเขตเวลาเดียว |