Skip to main content

DatePickerState

Struct DatePickerState 

Source
pub struct DatePickerState { /* private fields */ }
Expand description

Holds the current selection and display state for a date picker.

is_selectable_date and is_selectable_year are optional predicates. None means every date or year is selectable. A date is selectable only when it is inside the year range and both predicates allow it.

[CallbackWith] must be created during a component build, so these setters have to be called from inside a #[tessera] component. Closures passed to date_picker are turned into callbacks at that component boundary.

Implementations§

Source§

impl DatePickerState

Source

pub fn new( initial_selected_date: Option<CalendarDate>, initial_displayed_month: Option<YearMonth>, year_range: RangeInclusive<i32>, is_selectable_date: Option<CallbackWith<CalendarDate, bool>>, is_selectable_year: Option<CallbackWith<i32, bool>>, display_mode: DatePickerDisplayMode, ) -> Self

Creates a date picker state.

is_selectable_date and is_selectable_year are optional. None allows every date or year. When a callback is supplied, it must already have been created during a component build.

Source

pub fn selected_date(&self) -> Option<CalendarDate>

Returns the selected date, if any.

Source

pub fn displayed_month(&self) -> YearMonth

Returns the month currently displayed by the picker.

Source

pub fn display_mode(&self) -> DatePickerDisplayMode

Returns the display mode.

Source

pub fn year_range(&self) -> &RangeInclusive<i32> ⓘ

Returns the year range allowed by this picker.

Source

pub fn is_selectable_date(&self) -> Option<CallbackWith<CalendarDate, bool>>

Returns the date predicate, if one is set.

None means every date is selectable, subject to the year range and year predicate.

Source

pub fn is_selectable_year(&self) -> Option<CallbackWith<i32, bool>>

Returns the year predicate, if one is set.

None means every year is selectable, subject to the year range.

Source

pub fn set_selected_date(&mut self, date: CalendarDate) -> bool

Sets the selected date if it is allowed.

Source

pub fn clear_selected_date(&mut self)

Clears the selected date.

Source

pub fn set_displayed_month(&mut self, month: YearMonth)

Updates the displayed month, clamped to the year range.

Source

pub fn next_month(&mut self)

Moves the displayed month forward by one, staying within the year range.

Source

pub fn previous_month(&mut self)

Moves the displayed month backward by one, staying within the year range.

Source

pub fn set_display_mode(&mut self, mode: DatePickerDisplayMode)

Updates the display mode.

Source

pub fn toggle_display_mode(&mut self)

Toggles between picker and input modes.

Source

pub fn set_year_range(&mut self, year_range: RangeInclusive<i32>)

Updates the allowed year range.

Source

pub fn set_is_selectable_date( &mut self, is_selectable_date: Option<CallbackWith<CalendarDate, bool>>, )

Updates the date predicate.

None means every date is selectable. A callback must be created during a component build, so call this setter from inside a #[tessera] component.

Source

pub fn set_is_selectable_year( &mut self, is_selectable_year: Option<CallbackWith<i32, bool>>, )

Updates the year predicate.

None means every year is selectable. A callback must be created during a component build, so call this setter from inside a #[tessera] component.

Trait Implementations§

Source§

impl Default for DatePickerState

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> DowncastSend for T
where T: Any + Send,

§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

§

const WITNESS: W = W::MAKE

A constant of the type witness
§

impl<T> Identity for T
where T: ?Sized,

§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> NoneValue for T
where T: Default,

§

type NoneType = T

§

fn null_value() -> T

The none-equivalent value.
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> SendSync for T
where T: Send + Sync + 'static,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more