Skip to content

Releases: Azare77/jalali_table_calendar_plus

Version 1.0.0

24 Jun 08:53
Compare
Choose a tag to compare

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.0.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) {},
  );
}

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.0.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) {},
  );
}

پارامتر ها

پارامتر کاربرد نوع داده
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)