Skip to main content

Input

Enum Input 

Source
#[non_exhaustive]
pub enum Input { Number { label: Option<String>, initial_value: f64, min: Option<f64>, max: Option<f64>, }, Slider { label: Option<String>, min: f64, max: f64, step: f64, initial_value: f64, }, Dropdown { label: Option<String>, options: Vec<Choice>, initial_value: usize, }, Text { label: Option<String>, initial_value: String, multiline: bool, max_length: usize, }, Checkbox { label: Option<String>, initial_value: bool, }, MultiSelect { label: Option<String>, options: Vec<Choice>, initial_values: Vec<usize>, }, Image { label: Option<String>, }, Table { label: Option<String>, }, Described { input: Box<Input>, unit: Option<String>, help: Option<String>, }, }
Expand description

An input component definition. All fields are required in submitted forms.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Number

A numerical textbox with optional inclusive bounds.

Fields

§label: Option<String>

Plain-text label, or a generated one-based label.

§initial_value: f64

Initial finite value.

§min: Option<f64>

Inclusive minimum, when present.

§max: Option<f64>

Inclusive maximum, when present.

§

Slider

A bounded numerical slider.

Fields

§label: Option<String>

Plain-text label, or a generated one-based label.

§min: f64

Inclusive minimum and step origin.

§max: f64

Inclusive maximum.

§step: f64

Positive finite increment from the minimum.

§initial_value: f64

Initial finite value, on a step within the range.

§

Dropdown

A dropdown whose options may carry numerical or text values.

Fields

§label: Option<String>

Plain-text label, or a generated one-based label.

§options: Vec<Choice>

Non-empty list of labeled choices.

§initial_value: usize

Zero-based index of the initially selected option.

§

Text

A single- or multiple-line text input.

Fields

§label: Option<String>

Plain-text label.

§initial_value: String

Initial text, which may be empty.

§multiline: bool

Display multiple lines when true.

§max_length: usize

Maximum Unicode scalar values; must be 1–100,000.

§

Checkbox

A boolean checkbox.

Fields

§label: Option<String>

Plain-text label.

§initial_value: bool

Initial checked state.

§

MultiSelect

A list of independently selectable labeled values.

Fields

§label: Option<String>

Plain-text label.

§options: Vec<Choice>

Nonempty, unique numerical or text choices.

§initial_values: Vec<usize>

Initially selected option indices, without duplicates.

§

Image

Select a local PNG or JPEG, up to 8 MiB and 4096×4096 pixels.

Fields

§label: Option<String>

Plain-text label.

§

Table

Import a UTF-8 CSV with a header and up to 1,000 data rows.

Fields

§label: Option<String>

Plain-text label.

§

Described

Presentation metadata around an input; use with_unit and with_help.

Fields

§input: Box<Input>

The underlying component.

§unit: Option<String>

Displayed measurement unit.

§help: Option<String>

Plain-text explanation shown below the control.

Implementations§

Source§

impl Input

Source

pub fn number(label: impl Into<String>, initial_value: f64) -> Self

Create an unbounded numerical textbox with a label.

Source

pub fn text( label: impl Into<String>, initial_value: impl Into<String>, multiline: bool, ) -> Self

Create a text input with a 4,096-character limit.

Source

pub fn image(label: impl Into<String>) -> Self

Create a local raster-image input.

Source

pub fn table(label: impl Into<String>) -> Self

Create a CSV table input.

Source

pub fn checkbox(label: impl Into<String>, initial_value: bool) -> Self

Create a checkbox.

Source

pub fn with_unit(self, value: impl Into<String>) -> Self

Show a unit alongside the label, without changing the model value.

Source

pub fn with_help(self, value: impl Into<String>) -> Self

Show explanatory text below the control.

Trait Implementations§

Source§

impl Clone for Input

Source§

fn clone(&self) -> Input

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Input

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Input

Source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl Freeze for Input

§

impl RefUnwindSafe for Input

§

impl Send for Input

§

impl Sync for Input

§

impl Unpin for Input

§

impl UnsafeUnpin for Input

§

impl UnwindSafe for Input

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.