Skip to main content

DatePickerDialog

Struct DatePickerDialog 

Source
pub struct DatePickerDialog<State: 'static> { /* private fields */ }
Expand description

A declarative M3E date picker dialog. See the module docs.

Implementations§

Source§

impl<State: 'static> DatePickerDialog<State>

Source

pub fn today(self, today: MaterialDate) -> Self

Mark today with the today ring — see CalendarDatePicker::today for why this is required rather than defaulted.

Source

pub fn strings(self, strings: DatePickerStrings) -> Self

Replace the localized strings (default DatePickerStrings::ENGLISH).

Source

pub fn selectable<F: Fn(MaterialDate) -> bool + 'static>( self, predicate: F, ) -> Self

Refuse individual dates inside the bounds — the reference’s selectableDayPredicate, applied by both the calendar and the field.

Source

pub fn on_confirm<F: Fn(&mut State, Option<MaterialDate>) + 'static>( self, on_confirm: F, ) -> Self

Observe OK. show_date_picker wires this to a staged dismissal carrying the picked date (ModalDismiss::dismiss_with); a caller mounting the dialog directly (in a Stack, with no navigator) wires its own.

Source

pub fn dismissable(self, dismissable: bool) -> Self

Whether the user can dismiss the dialog at all — the scrim tap, Escape, and an Android back press (default true). false disables all three; Cancel and OK still work.

Source

pub fn on_dismiss<F: Fn(&mut State) + 'static>(self, on_dismiss: F) -> Self

Observe a dismissal — the callback the Cancel button fires when no dismiss_handle is installed (see the module docs’ OK-and-Cancel section). show_date_picker installs a handle, so on that path Cancel stages the host’s exit instead and this callback is the host’s own unstaged fallback, nothing more.

Source

pub fn dismiss_handle(self, dismiss: ModalDismiss) -> Self

Install the app-triggered staged-dismiss handle, so Cancel closes the dialog through the host’s exit ramp instead of firing on_dismiss into an immediate pop (see ModalDismiss). show_date_picker installs one for you — and wires OK to it too, since OK’s own pop is its to make.

Source

pub fn confirmable(&self) -> Option<MaterialDate>

What pressing OK would confirm right now.

In calendar mode that is DatePickerState::selected (or None — the reference pops a null date from an untouched calendar too). In input mode it is the parsed field text, and None there means OK does nothing at all rather than confirming an empty pick — see the module docs.

Source

pub fn can_confirm(&self) -> bool

Whether pressing OK does anything at all — false only for an input mode whose text does not resolve.

Source

pub fn confirm(&self, app: &mut State)

Run the OK action’s body directly — the same code path Self::confirm_view’s button callback runs, reachable without an event pass (both routes share [confirm_action], so a test of one is a test of the other).

Source

pub fn cancel(&self, app: &mut State)

Run the Cancel action’s body directly — see Self::confirm.

Trait Implementations§

Source§

impl<State: 'static> OverlayModalContent<State> for DatePickerDialog<State>

Source§

fn on_modal_dismiss(self, on_dismiss: Rc<dyn Fn(&mut State)>) -> Self

Install the dismiss callback, replacing any the builder already set.
Source§

fn modal_dismissable(&self) -> bool

Whether this modal may be dismissed by the user at all — read once, at push time, to pick the page’s BackPolicy.
Source§

impl<State: 'static> View<State> for DatePickerDialog<State>

Source§

type Element = OverlayModalWidget

The retained widget this view produces.
Source§

fn build(&self, ctx: &mut BuildCtx<'_>) -> OverlayModalWidget

Materialise a fresh widget for this view.
Source§

fn rebuild( &self, prev: &Self, element: &mut OverlayModalWidget, ctx: &mut BuildCtx<'_>, ) -> ChangeFlags

Reconcile prev (the previous view of the same type) against the live element, mutating it in place and reporting what changed.
Source§

fn teardown(&self, element: &mut OverlayModalWidget, ctx: &mut BuildCtx<'_>)

Tear down element when this view is being removed. Read more
Source§

fn message(&self, _element: &mut Self::Element, _state: &mut State)

Deliver an event message to this view, mutating application state. 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
Source§

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

Source§

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

Source§

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

Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

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.

Source§

impl<T> Instrument for T

Source§

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

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

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.

Source§

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

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T> StorageAccess<T> for T

Source§

fn as_borrowed(&self) -> &T

Borrows the value.
Source§

fn into_taken(self) -> T

Takes the value.
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<State, V> ViewSeq<State, One> for V
where State: 'static, V: View<State>,

Source§

fn extend_views(self, out: &mut Vec<AnyView<State>>)

Push every element of this sequence, in order, onto out — erasing each with AnyView::new (a no-op for an element already an AnyView).
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

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

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