Skip to content

Azare77/jalali_table_calendar_plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.0
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 HolyDay(year:Int,month:Int,day:Int)
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 eventsOfDay)

تقویم جلالی

بازنویسی شده پکیج jalal_table_calendar

  • نمای جدولی تقویم
  • انتخاب به صورت بازه ای
  • تعریف تعطیلات به صورت شخصی سازی شده
  • مودال برای انتخاب تاریخ
  • تعریف لیست رویداد ها برای هر تاریخ
  • تعریف مارکر مخصوص برای هر روز

راه اندازی

این خط را به فایل pubspec.yaml اضافه کنید

jalali_table_calendar_plus: ^1.1.0
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 HolyDay(year:Int,month:Int,day:Int)
onRangeSelected متدی که بعد از اتمام انتخاب بازه ای اجرا میشود List
onDaySelected متدی که بعد از انتخاب تاریخ در حالت تکی اجرا میشود DateTime
marker متد ساخت مارکر های طراحی شده کاربر را برای هر روز را دریافت میکند (DateTime date, List eventsOfDay)