Di FullCalendar, timeline sumber daya dan kolom sumber daya termasuk fitur Premium: aplikasi komersial memerlukan kunci lisensi berbayar. Halaman lisensinya mencantumkan opsi gratis, untuk aplikasi yang sepenuhnya berlisensi AGPL dan untuk organisasi nirlaba terdaftar. Penjadwal Needless UI menyediakan keduanya dengan lisensi MIT, lengkap dengan acara berulang dan file iCalendar. Panduan ini memindahkan aplikasi Angular dari yang satu ke yang lain: apa yang bisa langsung dibawa, apa yang tidak, dan data yang perlu dikonversi.

Panduan ini memakai nama dari FullCalendar 7, dengan nama dari versi 6 dalam kurung siku jika berbeda. Konektor Angular FullCalendar mendukung Angular 16 hingga 22; Needless UI memerlukan Angular 22.

Apa yang Anda dapatkan

FullCalendar dan penjadwal Needless UI
FiturFullCalendarNeedless UI
Timeline sumber daya: satu baris per ruangan atau orangPremiumYa: sehari, seminggu, atau sebulan
Sumber daya sebagai kolom di tampilan hari dan mingguPremiumYa
Tampilan bulan, minggu, dan hariGratisYa
Seret untuk memindahkan dan mengubah ukuranGratis; ke sumber daya lain dengan PremiumYa, juga ke sumber daya lain. Ukuran diubah dari ujung akhir, bukan dari awal.
Pilih waktu untuk membuat acaraGratisYa, dengan pointer, tekan lama, atau keyboard
Aturan seperti larangan tumpang-tindihGratis: opsi overlap dan constraintYa: satu fungsi allow, yang ditanya sebelum setiap perubahan
Memindahkan dan mengubah ukuran acara dengan keyboardTidak ada di dokumentasi aksesibilitasnya, yang membahas label ARIA dan fokus TabYa, diumumkan ke pembaca layar
Acara berulangGratis, dengan plugin dan pustaka rruleBawaan: aturan RFC 5545, tanpa EXRULE, RDATE, atau aturan per jam
iCalendar (.ics)Gratis: membaca feedMembaca dan menulis file .ics
Tampilan daftar dan tahunGratisAgenda untuk hari-hari ke depan; tanpa tampilan tahun
Zona waktuGratis: lokal, UTC, atau bernamaTidak: menampilkan waktu jam dinding yang diterimanya apa adanya
Sumber daya yang dikelompokkan, bertingkat, atau multikolomPremiumTidak: satu kolom, digambar oleh template Anda
Seret dan lepas dari luar, acara latar belakangGratisTidak
Pencetakan, rendering virtualPremiumTidak
FrameworkAngular 16 hingga 22, React, Vue, JavaScript biasa, dan lainnyaAngular 22 dan React 19

Padanan opsi

Opsi FullCalendar dan padanannya di Needless UI
FullCalendarPenjadwal Needless UI
<full-calendar [options]>, plugins, schedulerLicenseKey<nui-scheduler>, dengan satu input untuk setiap opsi; tanpa plugin dan tanpa kunci
initialView: 'resourceTimelineDay'view="timeline", dan timelineSpan untuk seminggu atau sebulan
initialView: 'timeGridWeek'view="week"; [(view)] bersifat dua arah
resources, events[resources], [events]
resourceId, extendedPropsresource, data
editable, selectableeditable, selectable
select(slotSelect): { start, end, allDay, resource }
eventDrop, eventResize(eventChange): tidak ada yang berpindah sampai Anda memperbarui events
eventClick(eventClick)
eventOverlap, selectOverlap, eventAllow[allow]: satu fungsi untuk pemindahan, perubahan ukuran, dan pemilihan
slotDuration, snapDurationslotMinutes, snapMinutes, dalam menit
slotMinTime, slotMaxTime, scrollTimedayStart, dayEnd, scrollHour, dalam jam
businessHours[businessHours], dengan hari dari 1 (Senin) hingga 7
datesSet(rangeChange)
eventContent, resourceCellContent [resourceLabelContent]Template nuiSchedulerEvent dan nuiSchedulerResource
locale, firstDaylocale (tag BCP 47 apa pun), firstDay dari 1 hingga 7, dan labels untuk teksnya

Timeline pemesanan ruangan, dengan keduanya

Ruangan adalah sumber daya dan pemesanan adalah acara. Pengguna menyeret melintasi sebuah ruangan untuk memesannya dan menyeret pemesanan untuk memindahkannya, dan satu ruangan hanya bisa menampung satu pemesanan dalam satu waktu. Dengan FullCalendar 7 dan timeline sumber daya Premium-nya:

Dengan penjadwal Needless UI:

Ada dua hal yang bekerja secara berbeda. FullCalendar memindahkan pemesanan sendiri, lalu aplikasi menyalin perubahannya; penjadwal Needless UI hanya melaporkannya, dan perubahan itu baru tersimpan saat Anda memperbarui events, sehingga data Anda tetap menjadi satu-satunya sumber. Selain itu, allow adalah kode biasa yang ditanya sebelum setiap perubahan lewat pointer atau keyboard, sehingga aturannya bisa Anda uji sendiri. Panduan pemesanan ruangan membangun aplikasi ini langkah demi langkah.

Mengonversi data

Data FullCalendar dan yang diharapkan penjadwal
FullCalendarNeedless UI
end acara sepanjang hari adalah hari setelah acara ituend acara sepanjang hari adalah hari terakhirnya: kurangi satu hari
Waktu bisa diakhiri Z atau offset seperti +02:00Waktu jam dinding tanpa offset, seperti 2026-11-02T09:30
Hari dalam seminggu dari 0 (Minggu) hingga 6, di businessHours dan firstDayHari dalam seminggu dari 1 (Senin) hingga 7 (Minggu)
Durasi berupa string, seperti '00:30'Angka: menit atau jam
Sumber daya diurutkan menurut id, lalu judulSumber daya sesuai urutan dalam array
rrule berupa objek, dan exruleString RFC 5545, seperti FREQ=WEEKLY;BYDAY=MO,FR, dan exdate
Zona waktu seperti America/New_YorkKonversikan waktunya terlebih dahulu. nuiSchedulerFromIcs(text, { timeZone }) mengonversi file .ics sambil membacanya.

Jika Anda membutuhkan yang belum ada

Jika aplikasi Anda bergantung pada zona waktu, sumber daya yang dikelompokkan, seret dan lepas dari luar, atau pencetakan, penjadwal ini belum bisa menggantikan FullCalendar. Buka issue untuk fitur yang Anda butuhkan. Untuk semua hal lainnya, halaman penjadwal memuat setiap input, output, dan contoh.