Import

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

NuiScheduler

Sự kiện theo tháng, tuần, ngày, lịch biểu hoặc timeline.

NuiScheduler: Thuộc tính
TênKiểuMặc địnhMô tả
eventsPropNuiSchedulerEvent<T>[][]Các sự kiện cần hiển thị.
resourcesPropNuiSchedulerResource[][]Phòng, người hoặc máy móc: các dòng của timeline, và các cột của chế độ xem ngày và tuần.
view
defaultView
onViewChangeState
'month' | 'week' | 'day' | 'agenda' | 'timeline''week'Chế độ xem đang hiển thị.
viewsPropNuiSchedulerView[]allCác chế độ xem mà người dùng có thể chuyển qua lại. Mặc định là tất cả, riêng timeline chỉ có khi có tài nguyên.
timelineSpanProp'day' | 'week' | 'month''day'Những gì timeline hiển thị: một ngày theo khung giờ, hoặc một tuần hay một tháng theo ngày.
date
defaultDate
onDateChangeState
NuiDatetodayNgày đang hiển thị, cũng là nơi focus bàn phím đang ở. Hãy truyền defaultDate khi máy chủ render bộ lập lịch: “hôm nay” của máy chủ có thể khác với của người đọc.
slotMinutesPropnumber30Số phút mỗi dòng của lưới thời gian, hoặc mỗi cột của timeline một ngày.
snapMinutesPropnumberslotMinutesBước di chuyển và đổi độ dài của sự kiện.
dayStart, dayEndPropnumber0, 24Giờ bắt đầu và kết thúc mà lưới thời gian hiển thị.
scrollHourPropnumber8Giờ hiển thị khi lưới thời gian mở ra.
agendaDaysPropnumber30Số ngày mà lịch biểu xem trước.
businessHoursPropNuiSchedulerHours[]Giờ làm việc, chẳng hạn { days: [1, 2, 3, 4, 5], start: '09:00', end: '17:00' }. Thời gian còn lại được tô mờ.
weekendsPropbooleantrueHiển thị cuối tuần. Nếu tắt, mọi chế độ xem đều bỏ các ngày cuối tuần theo locale.
weekNumbersPropbooleanfalseHiển thị số tuần ISO trong chế độ xem tháng, và phía trên cột giờ.
editablePropbooleanfalseSự kiện có thể được di chuyển và đổi độ dài, bằng con trỏ và bàn phím.
selectablePropbooleanfalseCó thể chọn thời gian trên lưới để tạo sự kiện.
allowProp(time) => booleanQuyết định một thao tác di chuyển, đổi độ dài hay chọn thời gian có được thực hiện hay không.
toolbarPropboolean | ((toolbar: NuiSchedulerToolbar) => ReactNode)trueHiển thị thanh công cụ, hoặc vẽ thanh công cụ của riêng bạn từ dữ liệu mà nó nhận được.
firstDayProp1 … 7Ngày đầu tuần, 1 là thứ Hai. Mặc định theo locale.
headingLevelPropnumber2Cấp heading của tiêu đề; các ngày trong lịch biểu sâu hơn một cấp.
localePropstring'en-US'Định dạng ngày và giờ.
labelsPropPartial<NuiSchedulerLabels>Mọi văn bản mà bộ lập lịch hiển thị hoặc đọc lên, để dịch.
cornersPropNuiCornersHình dạng các góc: round, squircle, bevel, scoop, notch hoặc square.
radiusPropNuiRadiusMức bo góc: none, small, medium, large hoặc full.
densityPropNuiDensityLượng không gian mà component chiếm: compact, regular hoặc roomy.
renderEventRender prop(event, { time }) => ReactNodeTự vẽ sự kiện, từ sự kiện và thời gian của nó dưới dạng văn bản.
renderResourceRender prop(resource) => ReactNodeTự vẽ tiêu đề của tài nguyên.
onEventClickCallback(event: NuiSchedulerEvent<T>) => voidĐược gọi với sự kiện được nhấp, hoặc được mở bằng Enter.
onEventChangeCallback({ event, start, end, resource? }) => voidĐược gọi với thời gian mới của sự kiện sau khi di chuyển hoặc đổi độ dài, cùng tài nguyên của nó nếu có thay đổi. Hãy cập nhật events để giữ thay đổi.
onSlotSelectCallback({ start, end, allDay, resource? }) => voidĐược gọi với thời gian được chọn trên lưới, cùng tài nguyên của nó.
onRangeChangeCallback({ start, end }) => voidĐược gọi với ngày đầu tiên và cuối cùng đang hiển thị khi chúng thay đổi, để tải sự kiện của những ngày đó.
refPropRef<NuiSchedulerHandle>Những gì ref của bộ lập lịch truy cập được: chuyển trang, cho thanh công cụ của riêng bạn.
previous, next, goTodayPhương thức() => voidHiển thị trang trước hoặc sau, hoặc hôm nay, cho thanh công cụ của riêng bạn.
titleThuộc tínhstringKhoảng thời gian đang hiển thị, đúng như tiêu đề của thanh công cụ ghi.

State hoạt động như các trường nhập liệu của chính React: truyền một giá trị và cập nhật nó từ callback on…Change, hoặc truyền giá trị default… để component tự giữ.

Các prop tùy biến mà bạn không đặt sẽ lấy giá trị từ thuộc tính data-nui-* gần nhất. Xem hướng dẫn tùy biến.

NuiSchedulerToolbar

Những gì một hàm toolbar nhận được, để vẽ thanh công cụ của riêng bạn.

NuiSchedulerToolbar: Thuộc tính
TênKiểuMặc địnhMô tả
titleThuộc tínhstringKhoảng thời gian đang hiển thị, đúng như tiêu đề của thanh công cụ ghi.
view, viewsThuộc tínhNuiSchedulerView, NuiSchedulerView[]Chế độ xem đang hiển thị, và các chế độ xem có sẵn.
setView, previous, next, goTodayPhương thức(view?) => voidĐổi chế độ xem, hiển thị trang trước hoặc sau, hoặc hôm nay.

NuiSchedulerEvent

Một sự kiện. Điểm kết thúc của sự kiện có giờ không được tính vào; còn sự kiện cả ngày kết thúc vào ngày cuối cùng của nó.

NuiSchedulerEvent: Thuộc tính
TênKiểuMặc địnhMô tả
id, titleThuộc tínhstringKhóa của nó, và nội dung nó hiển thị.
start, endThuộc tínhNuiDateTime | NuiDateNgày và giờ, hoặc chỉ ngày với sự kiện cả ngày.
allDayThuộc tínhbooleanTheo mặc định, là sự kiện cả ngày khi start không có giờ.
toneThuộc tính'accent' | 'neutral' | 'success' | 'warning' | 'danger''accent'Bảng màu của nó.
color, classThuộc tínhstringMột màu CSS bất kỳ, được ưu tiên hơn tông màu, và các class để tạo kiểu cho nó.
resourceThuộc tínhstring | string[]Các tài nguyên mà sự kiện thuộc về.
rruleThuộc tínhstringMột quy tắc lặp lại theo RFC 5545, chẳng hạn FREQ=WEEKLY;BYDAY=MO.
exdateThuộc tínhstring[]Thời điểm bắt đầu của những lần lặp không diễn ra.
recurrenceIdThuộc tínhNuiDateTime | NuiDateTrên một lần lặp mà bộ lập lịch báo về: thời điểm bắt đầu mà quy tắc đã định cho nó.
editableThuộc tínhbooleanSự kiện có di chuyển được hay không, bất kể bộ lập lịch quy định thế nào.
dataThuộc tínhTMọi thứ khác cần giữ kèm sự kiện.

NuiSchedulerResource

Một phòng, một người hoặc một máy mà các sự kiện thuộc về.

NuiSchedulerResource: Thuộc tính
TênKiểuMặc địnhMô tả
id, titleThuộc tínhstringKhóa của nó, và tên nó hiển thị.
tone, colorThuộc tínhNuiSchedulerTone, stringMàu của các sự kiện thuộc về nó, trừ khi sự kiện có màu riêng.
businessHoursThuộc tínhNuiSchedulerHours[]Thời gian tài nguyên này khả dụng, thay cho giờ làm việc của bộ lập lịch.
dataThuộc tínhRMọi thứ khác cần giữ kèm tài nguyên.

Helpers

Các hàm cho sự kiện lặp lại và tệp iCalendar.

Helpers: Thuộc tính
TênKiểuMặc địnhMô tả
nuiSchedulerOccurrencesPhương thức(event, first, last) => NuiSchedulerEvent[]Một sự kiện như nó hiển thị trong những ngày đã cho: từng lần lặp của sự kiện lặp lại.
nuiSchedulerRulePhương thức(text: string) => NuiSchedulerRule | nullĐọc một quy tắc lặp lại, hoặc trả về null.
nuiSchedulerToIcsPhương thức(events, options?) => stringGhi các sự kiện thành một tệp iCalendar.
nuiSchedulerFromIcsPhương thức(text, { timeZone? }) => NuiSchedulerEvent[]Đọc các sự kiện của một tệp iCalendar, với thời gian quy về một múi giờ.