diff --git a/example/pubspec.yaml b/example/pubspec.yaml index c61db90..4a6ba90 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -1,6 +1,9 @@ name: flutter_calendar_example description: Demonstrates the flutter_calendar widget +environment: + sdk: ">=2.6.0 <3.0.0" + dependencies: flutter: sdk: flutter diff --git a/lib/calendar_tile.dart b/lib/calendar_tile.dart index c6d2f9f..1e8686f 100644 --- a/lib/calendar_tile.dart +++ b/lib/calendar_tile.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:date_utils/date_utils.dart'; +import 'package:date_utils/date_utils.dart' as dt; class CalendarTile extends StatelessWidget { final VoidCallback onDateSelected; @@ -45,8 +45,8 @@ class CalendarTile extends StatelessWidget { : new BoxDecoration(), alignment: Alignment.center, child: new Text( - Utils.formatDay(date).toString(), - style: isSelected ? Theme.of(context).primaryTextTheme.body1 : dateStyles, + dt.DateUtils.formatDay(date).toString(), + style: isSelected ? Theme.of(context).primaryTextTheme.bodyText1 : dateStyles, textAlign: TextAlign.center, ), ), diff --git a/lib/flutter_calendar.dart b/lib/flutter_calendar.dart index 2821dc2..d65713d 100644 --- a/lib/flutter_calendar.dart +++ b/lib/flutter_calendar.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:tuple/tuple.dart'; import 'package:flutter_calendar/calendar_tile.dart'; -import 'package:date_utils/date_utils.dart'; +import 'package:date_utils/date_utils.dart' as dt; typedef DayBuilder(BuildContext context, DateTime day); @@ -32,7 +32,6 @@ class Calendar extends StatefulWidget { } class _CalendarState extends State { - final calendarUtils = new Utils(); List selectedMonthsDays; Iterable selectedWeeksDays; DateTime _selectedDate = new DateTime.now(); @@ -45,14 +44,14 @@ class _CalendarState extends State { super.initState(); if (widget.initialCalendarDateOverride != null) _selectedDate = widget.initialCalendarDateOverride; - selectedMonthsDays = Utils.daysInMonth(_selectedDate); - var firstDayOfCurrentWeek = Utils.firstDayOfWeek(_selectedDate); - var lastDayOfCurrentWeek = Utils.lastDayOfWeek(_selectedDate); + selectedMonthsDays = dt.DateUtils.daysInMonth(_selectedDate); + var firstDayOfCurrentWeek = dt.DateUtils.firstDayOfWeek(_selectedDate); + var lastDayOfCurrentWeek = dt.DateUtils.lastDayOfWeek(_selectedDate); selectedWeeksDays = - Utils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) + dt.DateUtils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) .toList() .sublist(0, 7); - displayMonth = Utils.formatMonth(_selectedDate); + displayMonth = dt.DateUtils.formatMonth(_selectedDate); } Widget get nameAndIconRow { @@ -132,7 +131,7 @@ class _CalendarState extends State { List calendarDays = isExpanded ? selectedMonthsDays : selectedWeeksDays; - Utils.weekdays.forEach( + dt.DateUtils.weekdays.forEach( (day) { dayWidgets.add( new CalendarTile( @@ -152,7 +151,7 @@ class _CalendarState extends State { monthEnded = true; } - if (Utils.isFirstDayOfMonth(day)) { + if (dt.DateUtils.isFirstDayOfMonth(day)) { monthStarted = true; } @@ -170,7 +169,7 @@ class _CalendarState extends State { onDateSelected: () => handleSelectedDateAndUserCallback(day), date: day, dateStyles: configureDateStyle(monthStarted, monthEnded), - isSelected: Utils.isSameDay(selectedDate, day), + isSelected: dt.DateUtils.isSameDay(selectedDate, day), ), ); } @@ -181,7 +180,7 @@ class _CalendarState extends State { TextStyle configureDateStyle(monthStarted, monthEnded) { TextStyle dateStyles; - final TextStyle body1Style = Theme.of(context).textTheme.body1; + final TextStyle body1Style = Theme.of(context).textTheme.bodyText1; if (isExpanded) { final TextStyle body1StyleDisabled = body1Style.copyWith( @@ -207,7 +206,7 @@ class _CalendarState extends State { return new Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - new Text(Utils.fullDayFormat(selectedDate)), + new Text(dt.DateUtils.fullDayFormat(selectedDate)), new IconButton( iconSize: 20.0, padding: new EdgeInsets.all(0.0), @@ -244,15 +243,15 @@ class _CalendarState extends State { void resetToToday() { _selectedDate = new DateTime.now(); - var firstDayOfCurrentWeek = Utils.firstDayOfWeek(_selectedDate); - var lastDayOfCurrentWeek = Utils.lastDayOfWeek(_selectedDate); + var firstDayOfCurrentWeek = dt.DateUtils.firstDayOfWeek(_selectedDate); + var lastDayOfCurrentWeek = dt.DateUtils.lastDayOfWeek(_selectedDate); setState(() { selectedWeeksDays = - Utils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) + dt.DateUtils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) .toList(); - selectedMonthsDays = Utils.daysInMonth(_selectedDate); - displayMonth = Utils.formatMonth(_selectedDate); + selectedMonthsDays = dt.DateUtils.daysInMonth(_selectedDate); + displayMonth = dt.DateUtils.formatMonth(_selectedDate); }); _launchDateSelectionCallback(_selectedDate); @@ -260,52 +259,52 @@ class _CalendarState extends State { void nextMonth() { setState(() { - _selectedDate = Utils.nextMonth(_selectedDate); - var firstDateOfNewMonth = Utils.firstDayOfMonth(_selectedDate); - var lastDateOfNewMonth = Utils.lastDayOfMonth(_selectedDate); + _selectedDate = dt.DateUtils.nextMonth(_selectedDate); + var firstDateOfNewMonth = dt.DateUtils.firstDayOfMonth(_selectedDate); + var lastDateOfNewMonth = dt.DateUtils.lastDayOfMonth(_selectedDate); updateSelectedRange(firstDateOfNewMonth, lastDateOfNewMonth); - selectedMonthsDays = Utils.daysInMonth(_selectedDate); - displayMonth = Utils.formatMonth(_selectedDate); + selectedMonthsDays = dt.DateUtils.daysInMonth(_selectedDate); + displayMonth = dt.DateUtils.formatMonth(_selectedDate); }); } void previousMonth() { setState(() { - _selectedDate = Utils.previousMonth(_selectedDate); - var firstDateOfNewMonth = Utils.firstDayOfMonth(_selectedDate); - var lastDateOfNewMonth = Utils.lastDayOfMonth(_selectedDate); + _selectedDate = dt.DateUtils.previousMonth(_selectedDate); + var firstDateOfNewMonth = dt.DateUtils.firstDayOfMonth(_selectedDate); + var lastDateOfNewMonth = dt.DateUtils.lastDayOfMonth(_selectedDate); updateSelectedRange(firstDateOfNewMonth, lastDateOfNewMonth); - selectedMonthsDays = Utils.daysInMonth(_selectedDate); - displayMonth = Utils.formatMonth(_selectedDate); + selectedMonthsDays = dt.DateUtils.daysInMonth(_selectedDate); + displayMonth = dt.DateUtils.formatMonth(_selectedDate); }); } void nextWeek() { setState(() { - _selectedDate = Utils.nextWeek(_selectedDate); - var firstDayOfCurrentWeek = Utils.firstDayOfWeek(_selectedDate); - var lastDayOfCurrentWeek = Utils.lastDayOfWeek(_selectedDate); + _selectedDate = dt.DateUtils.nextWeek(_selectedDate); + var firstDayOfCurrentWeek = dt.DateUtils.firstDayOfWeek(_selectedDate); + var lastDayOfCurrentWeek = dt.DateUtils.lastDayOfWeek(_selectedDate); updateSelectedRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek); selectedWeeksDays = - Utils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) + dt.DateUtils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) .toList() .sublist(0, 7); - displayMonth = Utils.formatMonth(_selectedDate); + displayMonth = dt.DateUtils.formatMonth(_selectedDate); }); _launchDateSelectionCallback(_selectedDate); } void previousWeek() { setState(() { - _selectedDate = Utils.previousWeek(_selectedDate); - var firstDayOfCurrentWeek = Utils.firstDayOfWeek(_selectedDate); - var lastDayOfCurrentWeek = Utils.lastDayOfWeek(_selectedDate); + _selectedDate = dt.DateUtils.previousWeek(_selectedDate); + var firstDayOfCurrentWeek = dt.DateUtils.firstDayOfWeek(_selectedDate); + var lastDayOfCurrentWeek = dt.DateUtils.lastDayOfWeek(_selectedDate); updateSelectedRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek); selectedWeeksDays = - Utils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) + dt.DateUtils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) .toList() .sublist(0, 7); - displayMonth = Utils.formatMonth(_selectedDate); + displayMonth = dt.DateUtils.formatMonth(_selectedDate); }); _launchDateSelectionCallback(_selectedDate); } @@ -326,16 +325,16 @@ class _CalendarState extends State { ); if (selected != null) { - var firstDayOfCurrentWeek = Utils.firstDayOfWeek(selected); - var lastDayOfCurrentWeek = Utils.lastDayOfWeek(selected); + var firstDayOfCurrentWeek = dt.DateUtils.firstDayOfWeek(selected); + var lastDayOfCurrentWeek = dt.DateUtils.lastDayOfWeek(selected); setState(() { _selectedDate = selected; selectedWeeksDays = - Utils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) + dt.DateUtils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) .toList(); - selectedMonthsDays = Utils.daysInMonth(selected); - displayMonth = Utils.formatMonth(selected); + selectedMonthsDays = dt.DateUtils.daysInMonth(selected); + displayMonth = dt.DateUtils.formatMonth(selected); }); // updating selected date range based on selected week updateSelectedRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek); @@ -381,14 +380,14 @@ class _CalendarState extends State { } void handleSelectedDateAndUserCallback(DateTime day) { - var firstDayOfCurrentWeek = Utils.firstDayOfWeek(day); - var lastDayOfCurrentWeek = Utils.lastDayOfWeek(day); + var firstDayOfCurrentWeek = dt.DateUtils.firstDayOfWeek(day); + var lastDayOfCurrentWeek = dt.DateUtils.lastDayOfWeek(day); setState(() { _selectedDate = day; selectedWeeksDays = - Utils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) + dt.DateUtils.daysInRange(firstDayOfCurrentWeek, lastDayOfCurrentWeek) .toList(); - selectedMonthsDays = Utils.daysInMonth(day); + selectedMonthsDays = dt.DateUtils.daysInMonth(day); }); _launchDateSelectionCallback(day); } diff --git a/pubspec.yaml b/pubspec.yaml index 94e2341..24c0f92 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,14 +5,14 @@ author: Eric Windmill homepage: https://github.com/apptreesoftware/flutter_calendar environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <3.0.0" dependencies: flutter: sdk: flutter - intl: ^0.15.0 - tuple: ^1.0.1 - date_utils: ^0.1.0 + intl: ^0.17.0 + tuple: ^2.0.0 + date_utils: ^0.2.0 dev_dependencies: flutter_test: