rwbr / flutter_neat_and_clean_calendar

Simple and clean flutter calendar with ability to slide up/down to show weekly/monthly calendar. Forked from [flutter_clean_calender](https://pub.dev/packages/flutter_clean_calendar)
MIT License
104 stars 51 forks source link

Multi year support? #70

Closed dimabran closed 5 months ago

dimabran commented 7 months ago

Hi, the widget looks great! But I couldn't figure out how can i set the date range to include a year and a half for example. I was only able to show the current year. and when trying to scroll to next / previous year i got this error:

======== Exception caught by gesture ===============================================================
The following _TypeError was thrown while handling a gesture:
Null check operator used on a null value

When the exception was thrown, this was the stack: 
#0      _CalendarState._launchDateSelectionCallback (package:flutter_neat_and_clean_calendar/flutter_neat_and_clean_calendar.dart:1051:28)
#1      _CalendarState.nextMonth (package:flutter_neat_and_clean_calendar/flutter_neat_and_clean_calendar.dart:834:7)
#2      _CalendarState.nameAndIconRow.<anonymous closure> (package:flutter_neat_and_clean_calendar/flutter_neat_and_clean_calendar.dart:314:39)
#3      _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1183:21)
#4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:275:24)
#5      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:652:11)
#6      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:309:5)
#7      BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:242:7)
#8      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:630:9)
#9      PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:98:12)
#10     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:143:9)
#11     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:633:13)
#12     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:141:18)
#13     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:127:7)
#14     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:488:19)
#15     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:468:22)
#16     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:439:11)
#17     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:413:7)
#18     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:376:5)
#19     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:323:7)
#20     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:292:9)
#21     _invoke1 (dart:ui/hooks.dart:328:13)
#22     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:410:7)
#23     _dispatchPointerDataPacket (dart:ui/hooks.dart:262:31)
Handler: "onTap"
Recognizer: TapGestureRecognizer#d00eb
  debugOwner: GestureDetector
  state: possible
  won arena
  finalPosition: Offset(24.7, 95.0)
  finalLocalPosition: Offset(20.7, 32.0)
  button: 1
  sent tap down
====================================================================================================
dimabran commented 7 months ago

Was able to fix it by setting onMonthChanged: (_){}, property, but maybe it will be a good idea to add a date range?

rwbr commented 7 months ago

I'll try to reproduce your problem. Let me see.

rwbr commented 5 months ago

Should be fixed with https://github.com/rwbr/flutter_neat_and_clean_calendar/issues/73#issuecomment-1984355529