FullCalendar ની રિસોર્સ ટાઇમલાઇન અને રિસોર્સ કૉલમ Premium સુવિધાઓ છે: વ્યાવસાયિક ઍપને પેઇડ લાઇસન્સ કી જોઈએ. તેનું લાઇસન્સ પેજ મફત વિકલ્પો જણાવે છે, જે સંપૂર્ણપણે AGPL હેઠળની ઍપ અને નોંધાયેલી બિનનફાકારક સંસ્થાઓ માટે છે. Needless UI શેડ્યૂલરમાં આ બંને MIT લાઇસન્સ હેઠળ મળે છે, પુનરાવર્તિત ઇવેન્ટ અને iCalendar ફાઇલો સાથે. આ માર્ગદર્શિકા Angular ઍપને એકમાંથી બીજામાં લઈ જાય છે: શું સીધું આવી જાય છે, શું નથી આવતું, અને કયો ડેટા બદલવો પડે છે.
અહીં FullCalendar 7 નાં નામ વપરાયાં છે, અને જ્યાં વર્ઝન 6 નાં નામ જુદાં હોય ત્યાં તે ચોરસ કૌંસમાં આપ્યાં છે. FullCalendar નો Angular કનેક્ટર Angular 16 થી 22 ને સપોર્ટ કરે છે; Needless UI ને Angular 22 જોઈએ.
તમને શું મળે છે
| સુવિધા | FullCalendar | Needless 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 શેડ્યૂલર |
|---|---|
<full-calendar [options]>, plugins, schedulerLicenseKey | <nui-scheduler>, દરેક વિકલ્પ માટે એક ઇનપુટ સાથે; ન પ્લગઇન, ન કી |
initialView: 'resourceTimelineDay' | view="timeline", અને અઠવાડિયા કે મહિના માટે timelineSpan |
initialView: 'timeGridWeek' | view="week"; [(view)] દ્વિમાર્ગી બાઇન્ડિંગ છે |
resources, events | [resources], [events] |
resourceId, extendedProps | resource, data |
editable, selectable | editable, selectable |
select | (slotSelect): { start, end, allDay, resource } |
eventDrop, eventResize | (eventChange): તમે events અપડેટ ન કરો ત્યાં સુધી કશું ખસતું નથી |
eventClick | (eventClick) |
eventOverlap, selectOverlap, eventAllow | [allow]: ખસેડવા, કદ બદલવા અને પસંદગી માટે એક જ ફંક્શન |
slotDuration, snapDuration | slotMinutes, snapMinutes, મિનિટમાં |
slotMinTime, slotMaxTime, scrollTime | dayStart, dayEnd, scrollHour, કલાકમાં |
businessHours | [businessHours], અઠવાડિયાના દિવસો 1 (સોમવાર) થી 7 સુધી |
datesSet | (rangeChange) |
eventContent, resourceCellContent [resourceLabelContent] | nuiSchedulerEvent અને nuiSchedulerResource ટેમ્પ્લેટ |
locale, firstDay | locale (કોઈ પણ BCP 47 ટૅગ), 1 થી 7 સુધીનો firstDay, અને તેના શબ્દો માટે labels |
રૂમ બુકિંગ ટાઇમલાઇન, બંને રીતે
રૂમ રિસોર્સ છે અને બુકિંગ ઇવેન્ટ છે. લોકો રૂમ બુક કરવા તેની હરોળ પર ડ્રૅગ કરે છે અને બુકિંગ ખસેડવા તેને ડ્રૅગ કરે છે, અને એક રૂમમાં એક સમયે એક જ બુકિંગ હોઈ શકે છે. FullCalendar 7 અને તેની Premium રિસોર્સ ટાઇમલાઇન સાથે:
Needless UI શેડ્યૂલર સાથે:
બે બાબતો જુદી રીતે કામ કરે છે. FullCalendar બુકિંગ જાતે ખસેડે છે, અને ઍપ એ ફેરફારની નકલ પોતાના ડેટામાં કરે છે; Needless UI શેડ્યૂલર ફેરફાર ફક્ત જણાવે છે, અને events અપડેટ કરવાથી જ તે ટકે છે, તેથી તમારો ડેટા જ એકમાત્ર સ્રોત રહે છે. અને allow સાદો કોડ છે, જેને પૉઇન્ટર કે કીબોર્ડથી થતા દરેક ફેરફાર પહેલાં પૂછવામાં આવે છે, તેથી આ નિયમ તમે જાતે ટેસ્ટ કરી શકો છો. રૂમ બુકિંગ માર્ગદર્શિકા આ ઍપ પગલું-દર-પગલું બનાવે છે.
ડેટાનું રૂપાંતર
| FullCalendar | Needless UI |
|---|---|
આખા દિવસની ઇવેન્ટનો end ઇવેન્ટ પછીનો દિવસ હોય છે | આખા દિવસની ઇવેન્ટનો end તેનો છેલ્લો દિવસ હોય છે: એક દિવસ બાદ કરો |
સમયના અંતે Z કે +02:00 જેવો ઑફસેટ હોઈ શકે છે | ઑફસેટ વિનાનો ઘડિયાળનો સમય, જેમ કે 2026-11-02T09:30 |
businessHours અને firstDay માં અઠવાડિયાના દિવસો 0 (રવિવાર) થી 6 | અઠવાડિયાના દિવસો 1 (સોમવાર) થી 7 (રવિવાર) |
અવધિ સ્ટ્રિંગ તરીકે, જેમ કે '00:30' | સંખ્યાઓ: મિનિટ કે કલાક |
| રિસોર્સ id મુજબ, પછી શીર્ષક મુજબ સૉર્ટ થાય છે | રિસોર્સ ઍરેના ક્રમમાં જ રહે છે |
rrule ઑબ્જેક્ટ તરીકે, અને exrule | RFC 5545 સ્ટ્રિંગ, જેમ કે FREQ=WEEKLY;BYDAY=MO,FR, અને exdate |
America/New_York જેવો ટાઇમ ઝોન | પહેલાં સમયનું રૂપાંતર કરો. nuiSchedulerFromIcs(text, { timeZone }) .ics ફાઇલો વાંચતી વખતે જ તેમનું રૂપાંતર કરે છે. |
જો તમને ખૂટતી સુવિધા જોઈતી હોય
જો તમારી ઍપ ટાઇમ ઝોન, જૂથમાં ગોઠવેલા રિસોર્સ, બહારથી ડ્રૅગ અને ડ્રૉપ કે પ્રિન્ટિંગ પર આધાર રાખતી હોય, તો શેડ્યૂલર હજી FullCalendar ની જગ્યા લઈ શકે તેમ નથી. તમને જે જોઈએ છે તેના માટે issue ખોલો. બાકીની દરેક બાબત માટે, શેડ્યૂલરના પેજ પર દરેક ઇનપુટ, આઉટપુટ અને ઉદાહરણ છે.