Jalali Table Calendar Plus
A rewritten package of jalali_table_calendar
Jalali Calendar
- Table view of the calendar
- Range selection
- Customizable holidays
- Modal for date selection
- Event list definition for each date
- Custom marker definition for each day
Setup
Add this line to the pubspec.yaml file
jalali_table_calendar_plus: ^1.1.1
Widget buildCalendar(BuildContext context) {
DateTime today = DateTime.now();
Map <DateTime, List<dynamic>>events = {
today: ['sample event', 26],
today.add(const Duration(days: 1)): ['all types can use here', {"key": "value"}],
};
return JalaliTableCalendar(
events: events,
range: range,
option: JalaliTableCalendarOption(
daysOfWeekTitles: [
"شنبه",
"یکشنبه",
"دوشنبه",
"سه شنبه",
"چهارشنبه",
"پنجشنبه",
"جمعه"
],
),
customHolyDays: [
// use jalali month and day for this
HolyDay(month: 4, day: 10), // For Repeated Days
HolyDay(year: 1404, month: 1, day: 26), // For Only One Day
],
onRangeSelected: (selectedDates) {
for (DateTime date in selectedDates) {
print(date);
}
},
marker: (date, event) {
if (event.isNotEmpty) {
return Positioned(
top: -2,
left: 1,
child: Container(
padding: const EdgeInsets.all(5),
decoration: const BoxDecoration(
shape: BoxShape.circle, color: Colors.blue),
child: Text(event.length.toString())));
}
return null;
},
onDaySelected: (DateTime date) {},
);
}
HolyDays
HolyDay(year: Jalai_Year , month: Jalai_Month, day: Jalai_Day)
Parameter | Usage | Data Type |
---|---|---|
year | Jalai Year | Int |
month | Jalai Month | Int |
day | Jalai Day | Int |
Parameters
Parameter | Usage | Data Type |
---|---|---|
events | A map of events for each day | Map <DateTime,List |
range | Used for range selection | bool |
customHolyDays | A list of customizable holidays | List |
onRangeSelected | Method executed after range selection is completed | List |
onDaySelected | Method executed after single date selection | DateTime |
marker | Method to receive user-designed markers for each day | (DateTime date, List |
تقویم جلالی
بازنویسی شده پکیج jalal_table_calendar
- نمای جدولی تقویم
- انتخاب به صورت بازه ای
- تعریف تعطیلات به صورت شخصی سازی شده
- مودال برای انتخاب تاریخ
- تعریف لیست رویداد ها برای هر تاریخ
- تعریف مارکر مخصوص برای هر روز
راه اندازی
این خط را به فایل pubspec.yaml اضافه کنید
jalali_table_calendar_plus: ^1.1.1
Widget buildCalendar(BuildContext context) {
DateTime today = DateTime.now();
Map <DateTime, List<dynamic>>events = {
today: ['sample event', 26],
today.add(const Duration(days: 1)): ['all types can use here', {"key": "value"}],
};
return JalaliTableCalendar(
events: events,
range: range,
customHolyDays: [
// use jalali month and day for this
HolyDay(month: 4, day: 10), // For Repeated Days
HolyDay(year: 1404, month: 1, day: 26), // For Only One Day
],
onRangeSelected: (selectedDates) {
for (DateTime date in selectedDates) {
print(date);
}
},
marker: (date, event) {
if (event.isNotEmpty) {
return Positioned(
top: -2,
left: 1,
child: Container(
padding: const EdgeInsets.all(5),
decoration: const BoxDecoration(
shape: BoxShape.circle, color: Colors.blue),
child: Text(event.length.toString())));
}
return null;
},
onDaySelected: (DateTime date) {},
);
}
HolyDays
HolyDay(year: Jalai_Year , month: Jalai_Month, day: Jalai_Day)
پارامتر | کاربرد | Data Type |
---|---|---|
year | سال جلالی | Int |
month | ماه جلالی | Int |
day | روز جلالی | Int |
پارامتر ها
پارامتر | کاربرد | نوع داده |
---|---|---|
events | یک Map از رویداد های هر روز | Map <DateTime,List |
range | برای انتخاب بازه ای استفاده میشود | bool |
customHolyDays | لیستی از تطیلات شخصی سازی شده | List |
onRangeSelected | متدی که بعد از اتمام انتخاب بازه ای اجرا میشود | List |
onDaySelected | متدی که بعد از انتخاب تاریخ در حالت تکی اجرا میشود | DateTime |
marker | متد ساخت مارکر های طراحی شده کاربر را برای هر روز را دریافت میکند | (DateTime date, List |