Merge pull request #42 from Iconica-Development/feat/add-extra-widget

feat: add extra widget builder
This commit is contained in:
Gorter-dev 2023-11-16 13:28:25 +01:00 committed by GitHub
commit 31a74c1173
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 2 deletions

View file

@ -1,3 +1,7 @@
## 4.0.1
- Added an extra widget builder to add more customizability, for example to add 'today' and 'close' buttons.
## 4.0.0 ## 4.0.0
- Controller has to be specified given to the [DragDownDateTimePicker] so the date can be changed outside of the widget itself. - Controller has to be specified given to the [DragDownDateTimePicker] so the date can be changed outside of the widget itself.

View file

@ -32,6 +32,7 @@ class OverlayDateTimePicker extends StatefulWidget {
this.dateTimeConstraint = const DateTimeConstraint(), this.dateTimeConstraint = const DateTimeConstraint(),
this.onNextPageButtonBuilder, this.onNextPageButtonBuilder,
this.onPreviousPageButtonBuilder, this.onPreviousPageButtonBuilder,
this.extraWidgetBuilder,
this.isShown = false, this.isShown = false,
}) : assert(child != null || buttonBuilder != null); }) : assert(child != null || buttonBuilder != null);
@ -96,6 +97,9 @@ class OverlayDateTimePicker extends StatefulWidget {
final Widget Function(void Function()? onPressed)? final Widget Function(void Function()? onPressed)?
onPreviousPageButtonBuilder; onPreviousPageButtonBuilder;
/// a [Widget] that can add custom widgets beneath the [OverlayDateTimeContent] for enhanced functionality
final Widget? extraWidgetBuilder;
@override @override
State<OverlayDateTimePicker> createState() => _OverlayDateTimePickerState(); State<OverlayDateTimePicker> createState() => _OverlayDateTimePickerState();
} }
@ -241,6 +245,7 @@ class _OverlayDateTimePickerState extends State<OverlayDateTimePicker> {
dateTimeConstraint: widget.dateTimeConstraint, dateTimeConstraint: widget.dateTimeConstraint,
onNextPageButtonChild: widget.onNextPageButtonBuilder, onNextPageButtonChild: widget.onNextPageButtonBuilder,
onPreviousPageButtonChild: widget.onPreviousPageButtonBuilder, onPreviousPageButtonChild: widget.onPreviousPageButtonBuilder,
extraWidgetBuilder: widget.extraWidgetBuilder,
), ),
), ),
), ),

View file

@ -25,6 +25,7 @@ class OverlayDateTimeContent extends StatefulWidget {
required this.dateTimeConstraint, required this.dateTimeConstraint,
required this.onPreviousPageButtonChild, required this.onPreviousPageButtonChild,
required this.onNextPageButtonChild, required this.onNextPageButtonChild,
this.extraWidgetBuilder,
}); });
final DateTimePickerTheme theme; final DateTimePickerTheme theme;
@ -35,6 +36,7 @@ class OverlayDateTimeContent extends StatefulWidget {
final bool showWeekDays; final bool showWeekDays;
final DateTimeConstraint dateTimeConstraint; final DateTimeConstraint dateTimeConstraint;
final Widget? extraWidgetBuilder;
final Widget Function(void Function()? onPressed)? onNextPageButtonChild; final Widget Function(void Function()? onPressed)? onNextPageButtonChild;
final Widget Function(void Function()? onPressed)? onPreviousPageButtonChild; final Widget Function(void Function()? onPressed)? onPreviousPageButtonChild;
@ -182,7 +184,8 @@ class _OverlayDateTimeContentState extends State<OverlayDateTimeContent> {
), ),
], ],
), ),
) ),
if (widget.extraWidgetBuilder != null) widget.extraWidgetBuilder!,
], ],
); );
} }

View file

@ -1,6 +1,6 @@
name: flutter_date_time_picker name: flutter_date_time_picker
description: A Flutter package for date and time picker. description: A Flutter package for date and time picker.
version: 4.0.0 version: 4.0.1
environment: environment:
sdk: ">=3.0.0 <4.0.0" sdk: ">=3.0.0 <4.0.0"