LivaScheduler
DevExtreme Scheduler üzerine kurulu randevu/takvim bileşeni. Gün, hafta ve
ay görünümleri; randevu ekleme, taşıma ve yeniden boyutlandırma; kaynak
bazlı renklendirme ve gruplama destekler. Varsayılan saat dilimi
Europe/Istanbul, haftanın ilk günü Pazartesi'dir.
import {
LivaScheduler,
type LivaSchedulerView,
type LivaSchedulerResource,
} from "@dataliva/livalib";
Haftalık görünüm
dataSource içindeki her kayıt en az text, startDate ve endDate
alanlarını taşır. views ile kullanıcıya sunulacak görünümler, defaultCurrentView
ile açılış görünümü, defaultCurrentDate ile açılış tarihi belirlenir.
Boş bir hücreye çift tıklayarak yeni randevu ekleyebilir, mevcut randevuları
sürükleyerek taşıyabilirsiniz.
Kaynaklar ile renklendirme
resources ile randevular bir kaynağa (salon, personel, departman vb.)
bağlanır; her kaynağın rengi randevu kartına uygulanır. fieldExpr,
randevu kaydındaki eşleşen alanın adını belirtir. Birden fazla kaynak
tanımlanabilir ve groups ile takvim kaynak bazında gruplanabilir.
Randevu düğmesi
showAppointmentButton açıldığında takvimin üzerine hazır bir "randevu
ekle" düğmesi yerleştirilir; metni, simgesi, rengi ve boyutu
appointmentButtonText, appointmentButtonIcon, appointmentButtonVariant
ve appointmentButtonSize ile özelleştirilir. Düğme, DevExtreme'in randevu
ekleme popup'ını açar ve onAppointmentButtonClick olayını tetikler.
| Prop | Tip | Varsayılan |
|---|---|---|
dataSource | any[] | — |
views | LivaSchedulerView[] | [] |
defaultCurrentView | SchedulerTypes.ViewType | 'week' |
defaultCurrentDate | Date | bugün |
height | number | string | 600 |
width | number | string | '100%' |
startDayHour | number | 8 |
endDayHour | number | 18 |
firstDayOfWeek | SchedulerTypes.FirstDayOfWeek | 1 |
showAllDayPanel | boolean | true |
timeZone | string | 'Europe/Istanbul' |
resources | LivaSchedulerResource[] | [] |
groups | string[] | [] |
allowAdding | boolean | true |
allowDragging | boolean | true |
showAppointmentButton | boolean | false |
Ayrıca allowUpdating, allowDeleting, allowResizing (tümü true);
onAppointmentClick, onAppointmentAdded, onAppointmentUpdated,
onAppointmentDeleted, onCurrentViewChanged, onCurrentDateChanged,
onCellClick gibi olay prop'ları ve appointmentComponent,
dataCellComponent, resourceCellComponent özelleştirme prop'ları
mevcuttur. Tanınmayan tüm prop'lar alttaki DevExtreme Scheduler'a aktarılır.