FullCalendar’ın kaynak zaman çizelgesi ve kaynak sütunları Premium sürümün parçasıdır: ticari bir uygulama için ücretli bir lisans anahtarı gerekir. Lisans sayfası, ücretsiz seçenekleri de listeler: tamamen AGPL olan uygulamalar ve kayıtlı kâr amacı gütmeyen kuruluşlar için. Needless UI planlayıcısı ise ikisini de MIT lisansıyla, yinelenen etkinlikler ve iCalendar dosyalarıyla birlikte sunar. Bu kılavuz bir Angular uygulamasını birinden diğerine taşımayı anlatır: neyin olduğu gibi geçtiği, neyin geçmediği ve dönüştürülmesi gereken veriler.

Kılavuz FullCalendar 7’deki adları kullanır; farklı olduklarında 6. sürümdeki adlar köşeli parantez içinde verilir. FullCalendar’ın Angular bağlayıcısı Angular 16 ile 22 arasını destekler; Needless UI ise Angular 22 gerektirir.

Neler elde edersiniz

FullCalendar ve Needless UI planlayıcısı
ÖzellikFullCalendarNeedless UI
Kaynak zaman çizelgesi: her oda ya da kişi için bir satırPremiumVar: bir gün, bir hafta ya da bir ay
Gün ve hafta görünümlerinde sütun olarak kaynaklarPremiumVar
Ay, hafta ve gün görünümleriÜcretsizVar
Sürükleyerek taşıma ve yeniden boyutlandırmaÜcretsiz; başka bir kaynağa taşımak için PremiumVar, başka kaynaklara da. Yeniden boyutlandırma bitişten yapılır, başlangıçtan yapılmaz.
Etkinlik oluşturmak için zaman seçmeÜcretsizVar: işaretçiyle, uzun basarak ya da klavyeyle
Çakışma olmaması gibi kurallarÜcretsiz: çakışma ve kısıt seçenekleriVar: her değişiklikten önce sorulan tek bir allow fonksiyonu
Etkinlikleri klavyeyle taşıma ve yeniden boyutlandırmaErişilebilirlik belgelerinde yok; bu belgeler ARIA etiketlerini ve Tab ile odaklanmayı ele alırVar; ekran okuyuculara da duyurulur
Yinelenen etkinliklerÜcretsiz; rrule eklentisi ve kütüphanesiyleYerleşik: RFC 5545 kuralları; EXRULE, RDATE ve saatlik kurallar hariç
iCalendar (.ics)Ücretsiz: bir takvim akışını okur.ics dosyalarını okur ve yazar
Liste ve yıl görünümleriÜcretsizÖnümüzdeki günlerin ajandası; yıl görünümü yok
Saat dilimleriÜcretsiz: yerel, UTC ya da adlandırılmışYok: aldığı saatleri olduğu gibi gösterir
Gruplanmış, iç içe ya da çok sütunlu kaynaklarPremiumYok: şablonunuzun çizdiği tek bir sütun
Dışarıdan sürükle-bırak, arka plan etkinlikleriÜcretsizYok
Yazdırma, sanal renderPremiumYok
Framework’lerAngular 16 ile 22 arası, React, Vue, düz JavaScript ve dahasıAngular 22 ve React 19

Neyin karşılığı ne

FullCalendar seçenekleri ve Needless UI karşılıkları
FullCalendarNeedless UI planlayıcısı
<full-calendar [options]>, plugins, schedulerLicenseKey<nui-scheduler>, her seçenek için bir girdiyle; eklenti de anahtar da yok
initialView: 'resourceTimelineDay'view="timeline", bir hafta ya da bir ay için de timelineSpan
initialView: 'timeGridWeek'view="week"; [(view)] iki yönlüdür
resources, events[resources], [events]
resourceId, extendedPropsresource, data
editable, selectableeditable, selectable
select(slotSelect): { start, end, allDay, resource }
eventDrop, eventResize(eventChange): siz events değerini güncelleyene kadar hiçbir şey yerinden oynamaz
eventClick(eventClick)
eventOverlap, selectOverlap, eventAllow[allow]: taşıma, yeniden boyutlandırma ve seçimler için tek bir fonksiyon
slotDuration, snapDurationslotMinutes, snapMinutes, dakika cinsinden
slotMinTime, slotMaxTime, scrollTimedayStart, dayEnd, scrollHour, saat cinsinden
businessHours[businessHours], hafta günleri 1 (pazartesi) ile 7 arasında
datesSet(rangeChange)
eventContent, resourceCellContent [resourceLabelContent]nuiSchedulerEvent ve nuiSchedulerResource şablonları
locale, firstDaylocale (herhangi bir BCP 47 etiketi), 1 ile 7 arasında firstDay ve metinleri için labels

Oda rezervasyonu zaman çizelgesi, iki kütüphaneyle

Odalar kaynak, rezervasyonlar etkinliktir. Kullanıcılar bir odayı rezerve etmek için satırı boyunca sürükler, taşımak için de rezervasyonu sürükler; bir odada aynı anda tek bir rezervasyon olabilir. FullCalendar 7 ve Premium kaynak zaman çizelgesiyle:

Needless UI planlayıcısıyla:

İki şey farklı çalışır. FullCalendar rezervasyonu kendisi taşır, uygulama da değişikliği kendi kopyasına işler; Needless UI planlayıcısı ise değişikliği yalnızca bildirir ve events güncellendiğinde değişiklik kalıcı olur, böylece tek doğruluk kaynağı verileriniz olarak kalır. Ayrıca allow düz bir koddur ve işaretçiden ya da klavyeden gelen her değişiklikten önce sorulur; bu yüzden kuralı kendiniz test edebilirsiniz. Rezervasyon takvimi kılavuzu bu uygulamayı adım adım oluşturur.

Verileri dönüştürme

FullCalendar verileri ve planlayıcının beklediği biçim
FullCalendarNeedless UI
Tüm gün süren bir etkinliğin end değeri, etkinlikten sonraki gündürTüm gün süren bir etkinliğin end değeri, son günüdür: bir gün çıkarın
Zamanlar Z ya da +02:00 gibi bir saat farkıyla bitebilirSaat farkı içermeyen yerel saatler, örneğin 2026-11-02T09:30
businessHours ve firstDay içinde hafta günleri 0 (pazar) ile 6 arasındadırHafta günleri 1 (pazartesi) ile 7 (pazar) arasındadır
Süreler metin olarak verilir, örneğin '00:30'Sayılar: dakika ya da saat
Kaynaklar id’ye, sonra başlığa göre sıralanırKaynaklar dizideki sırayla gelir
Nesne olarak rrule ve exruleFREQ=WEEKLY;BYDAY=MO,FR gibi bir RFC 5545 dizesi ve exdate
America/New_York gibi bir saat dilimiÖnce zamanları dönüştürün. nuiSchedulerFromIcs(text, { timeZone }), .ics dosyalarını okurken dönüştürür.

Eksik olan bir şeye ihtiyacınız varsa

Uygulamanız saat dilimlerine, gruplanmış kaynaklara, dışarıdan sürükle-bırakmaya ya da yazdırmaya dayanıyorsa planlayıcı henüz FullCalendar’ın yerini tutamaz. İhtiyacınız olan şey için bir issue açın. Geri kalan her şey için planlayıcının sayfasında tüm girdiler, çıktılar ve örnekler yer alır.