pickRange static method

Future<DateTimeRange?> pickRange(
  1. BuildContext context, {
  2. DateTime? initialStartDate,
  3. DateTime? initialEndDate,
  4. DateTime? firstDate,
  5. DateTime? lastDate,
  6. String cancelText = 'Cancel',
  7. String applyText = 'Apply',
  8. String previousMonthTooltip = 'Previous month',
  9. String nextMonthTooltip = 'Next month',
  10. String barrierLabel = 'Dismiss',
})

Implementation

static Future<DateTimeRange?> pickRange(
  BuildContext context, {
  DateTime? initialStartDate,
  DateTime? initialEndDate,
  DateTime? firstDate,
  DateTime? lastDate,
  String cancelText = 'Cancel',
  String applyText = 'Apply',
  String previousMonthTooltip = 'Previous month',
  String nextMonthTooltip = 'Next month',
  String barrierLabel = 'Dismiss',
}) async {
  final fluffyTheme = context.fluffyTheme;
  final pickedRange = await showGeneralDialog(
    context: context,
    barrierDismissible: true,
    barrierLabel: barrierLabel,
    barrierColor: FluffyColors.barrier,
    transitionDuration: FluffyDurations.dialogTransition,
    transitionBuilder: (context, anim1, anim2, child) {
      return FadeTransition(
        opacity: anim1,
        child: ScaleTransition(
          scale: Tween<double>(begin: 0.95, end: 1.0).animate(
            CurvedAnimation(parent: anim1, curve: Curves.easeOutCubic),
          ),
          child: child,
        ),
      );
    },
    pageBuilder: (context, anim1, anim2) {
      return FluffyTheme(
        data: fluffyTheme,
        child: _DateRangePickerDialog(
          initialStartDate: initialStartDate,
          initialEndDate: initialEndDate,
          firstDate: firstDate,
          lastDate: lastDate,
          cancelText: cancelText,
          applyText: applyText,
          previousMonthTooltip: previousMonthTooltip,
          nextMonthTooltip: nextMonthTooltip,
        ),
      );
    },
  );
  if (pickedRange is DateTimeRange) {
    return pickedRange;
  }
  return null;
}