All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
- add
keyparameter to all public widgets (aa72a76)
- migrate from
colorScheme.backgroundto.surface,.onBackgroundto.onSurface(41d27d2) - mark
…Styleclasses as@immutable(df6aef7)
- widen
intlsupport to>=0.17.0 <0.20.0(#166), closes: #159. Thanks to @MasterHiei!
- remove
basicEvent.copyWith(…)'s unusedshowOnTopparameter (ff19958)
- update
intlto^0.18.0(#122), closes: #136. Thanks to @TatsuUkraine! - widen
intlsupport to>=0.17.0 <0.19.0(90fb56d)
- Add
DateScrollActivityand subclasses.dateController.value.activitytells you the current activity and even the target when currently animating between dates. This is breaking becausedateController.valuenow stores aDatePageValueWithScrollActivityinstead of aDatePageValue(59b0eb4), closes: #110
- add
DateDiagnosticsProperty(469a0de) - implement
DiagnosticableforVisibleDateRangeandDatePageValue(8855d85)
- cancel ongoing animations when jumping in
DateController/TimeController(c0167c2), closes: #135 - honor maximum constraints in
WeekIndicator(8e0315c), closes: #131 - fix
MonthPageView's shrink-wrapped height when jumping to far-away date (763661e) - fix
allDayEventBorder.toString()(b35b240)
- upgrade to Flutter:
>=3.3.0, Dart>=2.18.0 <3.0.0(ed2d0a0) - update
black_hole_flutterto^1.0.0(40f1b67)
- add
multiDateContentGeometry.resolveOffset(…)to README
- remove
DateTimeTimetable.intervalin favor of.fullDayInterval(bee93d7) TimetableThemeData.raw(…)takes a new required parameterMultiDateTimetableStyle multiDateTimetableStyle(1fef623)
MultiDateEventHeadersupports limiting the number of rows to display events in. If there are more events in parallel, overflow indicators are displayed.- add
timeController.minDayHeightto ensure that labels and events have enough space available when zooming out (8dafaa5), closes: #76 - enable dragging widgets into timetable content (
b54154d), closes: #124- add
contentGeometryKeytoMultiDateTimetableandMultiDateTimetableHeaderconstructors (caf9ef9)
- add
- complete remaining
Event's andBasicEvent'sdebugFillProperties(…)(c3a15e9) - add
.rawconstructors forMultiDateTimetable,MultiDateTimetableHeader, andMultiDateTimetableContent(bb7767e)
- honor initial vertical pointer alignment while dragging events (
b54154d)
DatePageValue.datenow rounds the raw page value instead of flooring it (9d17622)
- update to Flutter 3 (#122). Thanks to @ThexXTURBOXx!
- add
dateController.visibleDates,datePageValue.visibleDates,.firstVisibleDate,.firstVisiblePage,.lastVisibleDate, and.lastVisiblePage(74df510), closes: #119 - support scrolling with a
ScrollbarinTimeZoom(e196576) - support mouse scrolling in
TimeZoom(1a286f2), closes: #115
WeekIndicatorno longer uses aLayoutBuilderinternally (a8d04ee)
- add Hungarian localization (#112). Thanks to @bmxbandita!
- show missing dates in
MonthWidgetandMonthPageView(0937dea), closes: #101 - support the new
computeHitSlop(…)(f7bf2c0), closes: #105
- add French and Portuguese localization (#94). Thanks to @simo9900!
- add
timeRange.maxDuration(be77146), closes: #95 - add
timetableLocalizationsDelegate.fallbackLocale(b65fa1b)
- avoid "Unsupported operation: Infinity or NaN toInt" during time scale gesture (
82abaa5), closes: #92 - avoid showing superfluous dates when
maxDateis set inVisibleDateRange.days(e864409), closes: #93
- add Spanish localization (#84). Thanks to @paolovalerdi!
- add missing exports for
DateContent,TimeOverlays,EventBuilder<E>, andDefaultEventBuilder<E>(3877220)
- support scrolling when inside a
ScrollView(b4ffeee), closes: #80 - avoid unsafe calls to
DefaultTimeController.of(…)inTimeZoom(7bd6447), closes: #90. Thanks to @paolovalerdi for investigating the cause!
- document how to support a new locale (
d2f369c)
TimeIndicators' factories no longer accept anAlignmentGeometry, but only anAlignment(8d8985d)
- add Japanese and Chinese localizations (#82). Thanks to @MasterHiei!
- add Italian localization (#88). Thanks to @mircoboschi!
- add
alwaysUse24HourFormattoTimeIndicatorStyle's constructor (#82). Thanks to @MasterHiei! - add
partDayDraggableEvent.onDragCanceled(#82). Thanks to @MasterHiei! TimeIndicators' factories now accept additional parameters for the first and last hour / half hour and whether to align the outer labels inside (8d8985d), closes: #77MultiDateTimetable's constructor now allows you to override only thecontentLeadingwidget (8e65964)
- use the correct date for
DateTimeTimetable.today()(#87), closes: #81. Thanks to @paolovalerdi! - avoid
doubleprecision errors (998926f), closes: #79, #86
- Almost a rewrite of this package to create a modular architecture with support for different layouts (#69), closing #17, #21, #23, #25, #26, #33, #36, #38, #41, #46, #51, #52, #56, #58, #60, #61, and #64. Please have a look at the new README as the API was changed significantly.
- support null values in
InitialTimeRange.range
- update dartx to
^0.5.0
- add custom builders for date header and leading area of the header (usually a week indicator) (#28), closes: #27. Thanks to @TatsuUkraine!
- add theme properties for disabling event stacking and configuring the minimum overlap (#34), closes: #31
- add Localization section to the README
- update dartx to
^0.4.0
Timetable.onEventBackgroundTap: called when tapping the background, e.g. for creating an event (#20), closes: #18. Thanks to @raLaaaa!- add
EventProvider.simpleStreamas a simpler interface thanEventProvider.stream(e63bfb4)
- Customizable date/weekday format with
TimetableThemeData.weekDayIndicatorPattern,.dateIndicatorPattern& temporary.totalDateIndicatorHeight(#16), closes: #15
- specify minimum Dart version (v2.7.0) in
pubspec.yaml
- All-day events (shown at the top) (#8), closes: #5
- Theming (#9) — see the README for more information!
- specify minimum Flutter version (v1.17.0) in
pubspec.yaml - example: upload generated APK as artifact
- fix week scroll alignment (#6)
- To provide a simpler API the exposed methods of
VisibleRangewere changed slightly. This doesn't affect you if you just instantiate one of the given implementations, but only if you extend it yourself or call one of its methods directly.
- To provide a simpler API the exposed methods of
- support Flutter v1.17.0 (#4)
- fix time zooming & add testing (#3)
- add
TimetableController.initialTimeRange, closes: #1
- fix week alignment with
WeekVisibleRange, closes: #2
- fix broken links in README
Initial release 🎉