Skip to main content

AsyncButton

Struct AsyncButton 

Source
pub struct AsyncButton<'a, T, E> { /* private fields */ }
Expand description

A button that initiates an asynchronous operation when clicked.

It automatically disables itself and swaps its display text to a spinner to prevent double-submissions and indicate work is being done.

Implementations§

Source§

impl<'a, T, E> AsyncButton<'a, T, E>

Source

pub fn new(bind: &'a mut Bind<T, E>, text: impl Into<WidgetText>) -> Self

Creates a new AsyncButton.

Source

pub fn pending_text(self, text: impl Into<WidgetText>) -> Self

Sets the text to display next to the spinner while the operation is pending.

Source

pub const fn frame(self, frame: bool) -> Self

If set to false, the button will be rendered as plain text without a background frame, similar to a clickable hyperlink label.

Source

pub const fn clear_on_click(self, clear: bool) -> Self

If set to true (default), the button will immediately clear the Bind’s previous data upon being clicked. If false, the old data will remain accessible via .read() while the new fetch is pending.

Source

pub fn show<Fut>(self, ui: &mut Ui, f: impl FnOnce() -> Fut) -> Response
where Fut: Future<Output = Result<T, E>> + MaybeSend + 'static, T: MaybeSend + 'static, E: MaybeSend + 'static,

Shows the button in the given UI and triggers the future if clicked.

Auto Trait Implementations§

§

impl<'a, T, E> Freeze for AsyncButton<'a, T, E>

§

impl<'a, T, E> !RefUnwindSafe for AsyncButton<'a, T, E>

§

impl<'a, T, E> Send for AsyncButton<'a, T, E>
where T: Send, E: Send,

§

impl<'a, T, E> Sync for AsyncButton<'a, T, E>
where T: Sync + Send, E: Sync + Send,

§

impl<'a, T, E> Unpin for AsyncButton<'a, T, E>

§

impl<'a, T, E> UnsafeUnpin for AsyncButton<'a, T, E>

§

impl<'a, T, E> !UnwindSafe for AsyncButton<'a, T, E>

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

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