Calendar
A keyboard-navigable month grid for single-date selection.
Loading interactive demo…
let calendar = Calendar::new("month");
calendar.root().flex_col()#Import
Import Calendar from quickgui.
use quickgui::*;#Usage
let calendar = Calendar::new("month");
calendar.root().flex_col()#Anatomy
Calendar::rootCalendar::weekCalendar::day
#API reference
Expand an entry for its description and complete signature. A dash means no declaration default is documented.
Calendar
View sourcepub fn new(root_id: impl Into<ElementId>) -> Selfroot_idpub const fn root_id(self) -> ElementId—
week_idpub fn week_id(self, index: usize) -> ElementId—
day_idpub fn day_id(self, day: CivilDate) -> ElementId—
Calendar::grid_with
View sourcepub fn grid_with(self, state: CalendarState, grid: Element) -> ElementDecorate an application-owned month grid without adding layout or appearance.
Calendar::grid
View sourcepub fn grid(self, state: CalendarState) -> ElementCreate the unstyled grid part. Use [`Self::grid_with`] to supply an existing element.
Calendar::week_with
View sourcepub fn week_with(self, index: usize, week: Element) -> ElementDecorate an application-owned week row without adding layout or appearance.
Calendar::week
View sourcepub fn week(self, index: usize) -> ElementCreate the unstyled week part. Use [`Self::week_with`] to supply an existing element.
Calendar::day_with
View sourcepub fn day_with(self, state: CalendarState, day: CivilDate, cell: Element) -> ElementDecorate an application-owned day cell without adding layout or appearance. Exactly one day carries the grid's Tab stop; the rest are reached with the arrow keys. QuickGUI sets the cell's accessible value to the ISO date; call `.accessibility_label(...)` afterwards to replace it with localized product text.
Calendar::day
View sourcepub fn day(self, state: CalendarState, day: CivilDate) -> ElementCreate the unstyled day part. Use [`Self::day_with`] to supply an existing element.
Calendar::key_with
View sourcepub fn key_with<V: 'static>( self, cx: &mut ViewContext<'_, V>, day: CivilDate, cell: Element, access: fn(&mut V) -> &mut CalendarState, ) -> ElementAttach QuickGUI's typed calendar actions and click selection to one day cell. Install [`calendar_key_bindings`] once on the application keymap.
Calendar::key
View sourcepub fn key<V: 'static>( self, cx: &mut ViewContext<'_, V>, day: CivilDate, access: fn(&mut V) -> &mut CalendarState, ) -> ElementCreate the unstyled key part. Use [`Self::key_with`] to supply an existing element.
Calendar::key_with_accessor
View sourcepub fn key_with_accessor<V: 'static>( self, cx: &mut ViewContext<'_, V>, day: CivilDate, cell: Element, access_source: StateAccessor<V, CalendarState>, ) -> ElementAttach the typed calendar actions against a per-instance state accessor. A host that renders many declared calendars through one view passes an accessor that captures which [`CalendarState`] this day cell belongs to.
