All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
- add
key
parameter to all public widgets (aa72a76
)
- migrate from
colorScheme.background
to.surface
,.onBackground
to.onSurface
(41d27d2
) - mark
…Style
classes as@immutable
(df6aef7
)
- widen
intl
support to>=0.17.0 <0.20.0
(#166), closes: #159. Thanks to @MasterHiei!
- remove
basicEvent.copyWith(…)
's unusedshowOnTop
parameter (ff19958
)
- update
intl
to^0.18.0
(#122), closes: #136. Thanks to @TatsuUkraine! - widen
intl
support to>=0.17.0 <0.19.0
(90fb56d
)
- Add
DateScrollActivity
and subclasses.dateController.value.activity
tells you the current activity and even the target when currently animating between dates. This is breaking becausedateController.value
now stores aDatePageValueWithScrollActivity
instead of aDatePageValue
(59b0eb4
), closes: #110
- add
DateDiagnosticsProperty
(469a0de
) - implement
Diagnosticable
forVisibleDateRange
andDatePageValue
(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_flutter
to^1.0.0
(40f1b67
)
- add
multiDateContentGeometry.resolveOffset(…)
to README
- remove
DateTimeTimetable.interval
in favor of.fullDayInterval
(bee93d7
) TimetableThemeData.raw(…)
takes a new required parameterMultiDateTimetableStyle multiDateTimetableStyle
(1fef623
)
MultiDateEventHeader
supports limiting the number of rows to display events in. If there are more events in parallel, overflow indicators are displayed.- add
timeController.minDayHeight
to 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
contentGeometryKey
toMultiDateTimetable
andMultiDateTimetableHeader
constructors (caf9ef9
)
- add
- complete remaining
Event
's andBasicEvent
'sdebugFillProperties(…)
(c3a15e9
) - add
.raw
constructors forMultiDateTimetable
,MultiDateTimetableHeader
, andMultiDateTimetableContent
(bb7767e
)
- honor initial vertical pointer alignment while dragging events (
b54154d
)
DatePageValue.date
now 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
Scrollbar
inTimeZoom
(e196576
) - support mouse scrolling in
TimeZoom
(1a286f2
), closes: #115
WeekIndicator
no longer uses aLayoutBuilder
internally (a8d04ee
)
- add Hungarian localization (#112). Thanks to @bmxbandita!
- show missing dates in
MonthWidget
andMonthPageView
(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
maxDate
is 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
alwaysUse24HourFormat
toTimeIndicatorStyle
'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 thecontentLeading
widget (8e65964
)
- use the correct date for
DateTimeTimetable.today()
(#87), closes: #81. Thanks to @paolovalerdi! - avoid
double
precision 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.simpleStream
as 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
VisibleRange
were 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 🎉