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 |
ہفتے کے دن 0 (اتوار) سے 6 تک، businessHours اور firstDay میں | ہفتے کے دن 1 (پیر) سے 7 (اتوار) تک |
دورانیے اسٹرنگز کی صورت میں، جیسے '00:30' | اعداد: منٹ یا گھنٹے |
| ریسورسز پہلے id اور پھر عنوان کے لحاظ سے ترتیب پاتے ہیں | ریسورسز اسی ترتیب میں رہتے ہیں جس میں وہ ایرے میں ہوں |
rrule بطور آبجیکٹ، اور exrule | RFC 5545 اسٹرنگ، جیسے FREQ=WEEKLY;BYDAY=MO,FR، اور exdate |
کوئی ٹائم زون، جیسے America/New_York | پہلے اوقات کنورٹ کریں۔ nuiSchedulerFromIcs(text, { timeZone }) .ics فائلیں پڑھتے ہوئے ہی انہیں کنورٹ کر دیتا ہے۔ |
اگر آپ کو وہ چاہیے جو ابھی موجود نہیں
اگر آپ کی ایپ ٹائم زونز، گروپ شدہ ریسورسز، بیرونی ڈریگ اینڈ ڈراپ یا پرنٹنگ پر انحصار کرتی ہے تو شیڈولر ابھی FullCalendar کی جگہ نہیں لے سکتا۔ جو آپ کو چاہیے، اس کے لیے ایشو کھولیں۔ باقی ہر چیز کے لیے شیڈولر کے صفحے پر ہر ان پٹ، آؤٹ پٹ اور مثال موجود ہے۔