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

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 by firstDate and lastDate.
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. null disables 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. null uses 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. Pass EventCategory.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