EthiopianWeekView class
A single-week Ethiopian calendar view: 7 days, each with more vertical room than a month-grid cell so a short event label — not just dots — can sit beside its day number.
Like EthiopianCalendarView, this is a stateless, fully controlled widget: the caller owns anchorDate (any date within the week to display) and the active selection, and updates them in response to onDateSelected and onWeekChanged. It honors the same selectedRange > selectedMultiDate > selectedDate priority chain as EthiopianCalendarView — see that class's doc for details — so switching between month and week view mid-selection never produces conflicting visual state.
Each day row shows its highest-priority visible event's name (per
the same canonical ordering AgendaEntry uses: public holidays
first, then by category, then alphabetically as a tie-break),
suffixed with +N when more than one event is visible that day, plus
the same dot indicators the month grid shows. The header reflects
both months (and, rarely, both years) when the displayed week spans
a calendar-month boundary, e.g. "Hamle – Nehase 2017".
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- EthiopianWeekView
Constructors
-
EthiopianWeekView({Key? key, required EthiopianDate anchorDate, required EthiopianDate firstDate, required EthiopianDate lastDate, required ValueChanged<
EthiopianDate> onDateSelected, required ValueChanged<EthiopianDate> onWeekChanged, EthiopianDate? selectedDate, EthiopianDateRange? selectedRange, EthiopianMultiDateSelection? selectedMultiDate, String? locale, EthiopianDatePickerTheme? theme, CalendarService? calendarService, Set<EventCategory> ? visibleEventCategories}) -
Creates a week view for the Monday–Sunday week containing
anchorDate, bounded byfirstDateandlastDate.const
Properties
- anchorDate → EthiopianDate
-
Any date within the week to display — the widget always renders
the full Monday–Sunday week containing this date.
final
- calendarService → CalendarService?
-
Optional event source for dot indicators and event labels.
nulldisables both entirely — same opt-in behavior as EthiopianCalendarView.calendarService.final - firstDate → EthiopianDate
-
The earliest selectable date. Dates before this are disabled.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- lastDate → EthiopianDate
-
The latest selectable date. Dates after this are disabled.
final
- locale → String?
-
Locale code for month/weekday names and event labels. Falls back
to English if unset or unsupported.
final
-
onDateSelected
→ ValueChanged<
EthiopianDate> -
Called when the user taps a selectable day row.
final
-
onWeekChanged
→ ValueChanged<
EthiopianDate> -
Called when the user navigates to the previous/next week, with the
new week's Monday as the argument.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedDate → EthiopianDate?
-
The currently selected single date, if any. Lowest priority.
final
- selectedMultiDate → EthiopianMultiDateSelection?
-
The currently selected multi-date set, if any. Middle priority.
final
- selectedRange → EthiopianDateRange?
-
The currently selected date range, if any. Highest priority.
final
- theme → EthiopianDatePickerTheme?
-
Optional visual theme. Falls back to
EthiopianDatePickerTheme.material3 when unset.
final
-
visibleEventCategories
→ Set<
EventCategory> ? -
Which EventCategorys show a dot/label by default.
nulluses CalendarDotIndicator.defaultVisibleCategories. Public-holiday events are always shown regardless of this set. Matches EthiopianCalendarView's default so switching month <-> week shows the same events for the same days. PassEventCategory.values.toSet()for the "show all events" toggle — see CalendarDotIndicator for a full worked example.final
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited