FullCalendar की रिसोर्स टाइमलाइन और रिसोर्स कॉलम Premium सुविधाएँ हैं: कमर्शियल ऐप के लिए पेड लाइसेंस कुंजी ज़रूरी है। उसके लाइसेंस पेज पर मुफ़्त विकल्प दिए गए हैं: पूरी तरह AGPL के तहत आने वाले ऐप के लिए, और रजिस्टर्ड गैर-लाभकारी संस्थाओं के लिए। Needless UI शेड्यूलर में ये दोनों MIT लाइसेंस के तहत मिलते हैं, बार-बार होने वाले इवेंट और iCalendar फ़ाइलों के साथ। इस गाइड में बताया गया है कि Angular ऐप को एक से दूसरे पर कैसे ले जाएँ: क्या साथ आता है, क्या नहीं, और कौन-सा डेटा बदलना होगा।

यहाँ FullCalendar 7 के नाम इस्तेमाल किए गए हैं, और जहाँ वर्शन 6 के नाम अलग हैं, वहाँ वे ब्रैकेट में दिए गए हैं। FullCalendar का Angular कनेक्टर Angular 16 से 22 तक सपोर्ट करता है; Needless UI को Angular 22 चाहिए।

आपको क्या मिलता है

FullCalendar और Needless UI शेड्यूलर
सुविधाFullCalendarNeedless UI
रिसोर्स टाइमलाइन: हर कमरे या व्यक्ति की एक पंक्तिPremiumहाँ: एक दिन, एक सप्ताह या एक महीना
दिन और सप्ताह व्यू में रिसोर्स कॉलम के रूप मेंPremiumहाँ
महीना, सप्ताह और दिन व्यूमुफ़्तहाँ
ड्रैग करके खिसकाना और रीसाइज़ करनामुफ़्त; दूसरे रिसोर्स पर ले जाने के लिए Premiumहाँ, दूसरे रिसोर्स पर भी। रीसाइज़ अंत से होता है, शुरुआत से नहीं।
इवेंट बनाने के लिए समय चुननामुफ़्तहाँ, पॉइंटर से, देर तक दबाकर या कीबोर्ड से
ओवरलैप रोकने जैसे नियममुफ़्त: overlap और constraint विकल्पहाँ: एक ही allow फ़ंक्शन, जिससे हर बदलाव से पहले पूछा जाता है
कीबोर्ड से इवेंट खिसकाना और रीसाइज़ करनाउसके सुलभता दस्तावेज़ों में नहीं, जो ARIA लेबल और Tab फ़ोकस की बात करते हैंहाँ, और स्क्रीन रीडर पर इसकी घोषणा होती है
बार-बार होने वाले इवेंटमुफ़्त, rrule प्लगइन और लाइब्रेरी के साथबिल्ट-इन: RFC 5545 के नियम, पर EXRULE, RDATE या घंटे के हिसाब से दोहराने वाले नियम नहीं
iCalendar (.ics)मुफ़्त: फ़ीड पढ़ता है.ics फ़ाइलें पढ़ता और लिखता है
लिस्ट और साल व्यूमुफ़्तआने वाले दिनों का एजेंडा; साल व्यू नहीं
टाइम ज़ोनमुफ़्त: लोकल, UTC या नाम वालेनहीं: जो समय मिलता है, उसे वैसे ही दिखाता है
ग्रुप किए गए, नेस्टेड या कई कॉलम वाले रिसोर्सPremiumनहीं: एक कॉलम, जिसे आपका टेम्पलेट बनाता है
बाहर से ड्रैग और ड्रॉप, बैकग्राउंड इवेंटमुफ़्तनहीं
प्रिंटिंग, वर्चुअल रेंडरिंगPremiumनहीं
फ़्रेमवर्कAngular 16 से 22, React, Vue, सादा JavaScript और कई अन्यAngular 22 और React 19

किसकी जगह क्या

FullCalendar के विकल्प और Needless UI में उनके समकक्ष
FullCalendarNeedless UI शेड्यूलर
<full-calendar [options]>, plugins, schedulerLicenseKey<nui-scheduler>, हर विकल्प के लिए एक इनपुट के साथ; न प्लगइन, न लाइसेंस कुंजी
initialView: 'resourceTimelineDay'view="timeline", और सप्ताह या महीने के लिए timelineSpan
initialView: 'timeGridWeek'view="week"; [(view)] दो-तरफ़ा है
resources, events[resources], [events]
resourceId, extendedPropsresource, data
editable, selectableeditable, selectable
select(slotSelect): { start, end, allDay, resource }
eventDrop, eventResize(eventChange): जब तक आप events अपडेट नहीं करते, कुछ नहीं खिसकता
eventClick(eventClick)
eventOverlap, selectOverlap, eventAllow[allow]: खिसकाने, रीसाइज़ करने और चुनने के लिए एक ही फ़ंक्शन
slotDuration, snapDurationslotMinutes, snapMinutes, मिनटों में
slotMinTime, slotMaxTime, scrollTimedayStart, dayEnd, scrollHour, घंटों में
businessHours[businessHours], सप्ताह के दिन 1 (सोमवार) से 7 तक
datesSet(rangeChange)
eventContent, resourceCellContent [resourceLabelContent]nuiSchedulerEvent और nuiSchedulerResource टेम्पलेट
locale, firstDaylocale (कोई भी BCP 47 टैग), 1 से 7 तक firstDay, और उसके शब्दों के लिए labels

कमरों की बुकिंग की टाइमलाइन, दोनों तरह से

कमरे रिसोर्स हैं और बुकिंग इवेंट। लोग किसी कमरे को बुक करने के लिए उसकी पंक्ति में ड्रैग करते हैं और किसी बुकिंग को खिसकाने के लिए उसे ड्रैग करते हैं, और एक कमरे में एक समय पर एक ही बुकिंग हो सकती है। FullCalendar 7 और उसकी Premium रिसोर्स टाइमलाइन के साथ:

Needless UI शेड्यूलर के साथ:

दो चीज़ें अलग तरह से काम करती हैं। FullCalendar बुकिंग को ख़ुद खिसकाता है, और ऐप उस बदलाव को अपने डेटा में दोहराता है; Needless UI शेड्यूलर सिर्फ़ बदलाव बताता है, और events अपडेट करने पर ही वह टिकता है, इसलिए आपका डेटा ही अकेला स्रोत रहता है। और allow सादा कोड है, जिससे पॉइंटर या कीबोर्ड से होने वाले हर बदलाव से पहले पूछा जाता है, इसलिए यह नियम आप ख़ुद टेस्ट कर सकते हैं। कमरों की बुकिंग पर गाइड में यही ऐप क़दम-ब-क़दम बनाया गया है।

डेटा को बदलना

FullCalendar का डेटा और शेड्यूलर को क्या चाहिए
FullCalendarNeedless UI
पूरे दिन के इवेंट का end इवेंट के बाद वाला दिन होता हैपूरे दिन के इवेंट का end उसका आख़िरी दिन होता है: एक दिन घटाएँ
समय के अंत में Z या +02:00 जैसा ऑफ़सेट हो सकता हैबिना ऑफ़सेट वाला घड़ी का समय, जैसे 2026-11-02T09:30
businessHours और firstDay में सप्ताह के दिन 0 (रविवार) से 6 तकसप्ताह के दिन 1 (सोमवार) से 7 (रविवार) तक
अवधि स्ट्रिंग के रूप में, जैसे '00:30'संख्याएँ: मिनट या घंटे
रिसोर्स id से, फिर टाइटल से सॉर्ट होते हैंरिसोर्स ऐरे के क्रम में ही रहते हैं
rrule ऑब्जेक्ट के रूप में, और exruleRFC 5545 स्ट्रिंग, जैसे FREQ=WEEKLY;BYDAY=MO,FR, और exdate
America/New_York जैसा टाइम ज़ोनपहले समय बदलें। nuiSchedulerFromIcs(text, { timeZone }) .ics फ़ाइलों को पढ़ते समय ही उनका समय बदल देता है।

अगर आपको वह चाहिए जो अभी नहीं है

अगर आपका ऐप टाइम ज़ोन, ग्रुप किए गए रिसोर्स, बाहर से ड्रैग और ड्रॉप या प्रिंटिंग पर निर्भर है, तो शेड्यूलर अभी FullCalendar की जगह नहीं ले सकता। आपको जो चाहिए, उसके लिए एक issue खोलें। बाक़ी सब के लिए, शेड्यूलर के पेज पर हर इनपुट, आउटपुट और उदाहरण मौजूद है।