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होय, इतर रिसोर्सवरही. आकार शेवटाकडून बदलतो, सुरुवातीकडून नाही.
इव्हेंट तयार करण्यासाठी वेळ निवडणेमोफतहोय: पॉइंटरने, दाबून धरून किंवा कीबोर्डने
ओव्हरलॅप टाळण्यासारखे नियममोफत: ओव्हरलॅप आणि कन्स्ट्रेंटचे पर्यायहोय: एकच 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 ची जागा घेऊ शकत नाही. आपल्याला जे हवे आहे त्यासाठी इश्यू उघडा. इतर सर्व गोष्टींसाठी शेड्यूलरच्या पेजवर प्रत्येक इनपुट, आउटपुट आणि उदाहरण आहे.