DefaultItem

Struct DefaultItem 

Source
pub struct DefaultItem {
    pub title: String,
    pub desc: String,
}
Expand description

A simple list item with title and description text.

This struct represents a basic list item that can be used with the DefaultDelegate for rendering in list components. It provides a straightforward implementation of the Item trait with built-in support for filtering and display formatting.

§Structure

Each DefaultItem contains:

  • A title: The primary text displayed prominently
  • A description: Secondary text shown below the title (when enabled)

Both fields are always present but the description display can be controlled by the delegate’s show_description setting.

§Usage

DefaultItem is designed to work seamlessly with DefaultDelegate and provides sensible defaults for most list use cases. For more complex item types with custom data, implement the Item trait directly.

§Examples

use bubbletea_widgets::list::DefaultItem;

// Create a simple item
let item = DefaultItem::new("Task 1", "Complete the documentation");
println!("{}", item); // Displays: "Task 1"

// Create items for a todo list
let todos = vec![
    DefaultItem::new("Buy groceries", "Milk, bread, eggs"),
    DefaultItem::new("Write code", "Implement the new feature"),
    DefaultItem::new("Review PRs", "Check team submissions"),
];

Fields§

§title: String

Main item text.

§desc: String

Secondary item text (optional display).

Implementations§

Source§

impl DefaultItem

Source

pub fn new(title: &str, desc: &str) -> Self

Creates a new default item with the specified title and description.

This constructor creates a new DefaultItem with the provided title and description text. Both parameters are converted to owned String values for storage.

§Arguments
  • title - The primary text to display for this item. This will be shown prominently and is used for filtering operations.
  • desc - The secondary descriptive text. This provides additional context and is displayed below the title when show_description is enabled.
§Returns

A new DefaultItem instance with the specified title and description.

§Examples
use bubbletea_widgets::list::DefaultItem;

// Create a task item
let task = DefaultItem::new("Review code", "Check the pull request from yesterday");

// Create a menu item
let menu_item = DefaultItem::new("Settings", "Configure application preferences");

// Create an item with empty description
let simple_item = DefaultItem::new("Simple Item", "");

Trait Implementations§

Source§

impl Clone for DefaultItem

Source§

fn clone(&self) -> DefaultItem

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DefaultItem

Source§

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

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

impl Display for DefaultItem

Source§

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

Formats the item for display, showing only the title.

This implementation provides a string representation of the item using only the title field. The description is not included in the display output, following the pattern where descriptions are shown separately in list rendering.

§Examples
use bubbletea_widgets::list::DefaultItem;

let item = DefaultItem::new("My Task", "This is a description");
assert_eq!(format!("{}", item), "My Task");
Source§

impl Item for DefaultItem

Source§

fn filter_value(&self) -> String

Returns the text used for filtering this item.

This implementation returns the item’s title, which means that filtering operations will search and match against the title text. The description is not included in filtering to keep the search focused on the primary item identifier.

§Returns

A clone of the item’s title string that will be used for fuzzy matching during filtering operations.

§Examples
use bubbletea_widgets::list::{DefaultItem, Item};

let item = DefaultItem::new("Buy groceries", "Milk, bread, eggs");
assert_eq!(item.filter_value(), "Buy groceries");

// The filter will match against "Buy groceries", not the description

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,

Source§

fn adapt_into_using<M>(self, method: M) -> D
where M: TransformMatrix<T>,

Convert the source color to the destination color using the specified method.
Source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default.
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, C> ArraysFrom<C> for T
where C: IntoArrays<T>,

Source§

fn arrays_from(colors: C) -> T

Cast a collection of colors into a collection of arrays.
Source§

impl<T, C> ArraysInto<C> for T
where C: FromArrays<T>,

Source§

fn arrays_into(self) -> C

Cast this collection of arrays into a collection of colors.
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for U
where T: FromCam16Unclamped<WpParam, U>,

Source§

type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
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, C> ComponentsFrom<C> for T
where C: IntoComponents<T>,

Source§

fn components_from(colors: C) -> T

Cast a collection of colors into a collection of color components.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromAngle<T> for T

Source§

fn from_angle(angle: T) -> T

Performs a conversion from angle.
Source§

impl<T, U> FromStimulus<U> for T
where U: IntoStimulus<T>,

Source§

fn from_stimulus(other: U) -> T

Converts other into Self, while performing the appropriate scaling, rounding and clamping.
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> IntoAngle<U> for T
where U: FromAngle<T>,

Source§

fn into_angle(self) -> U

Performs a conversion into T.
Source§

impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for U
where T: Cam16FromUnclamped<WpParam, U>,

Source§

type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
Source§

impl<T, U> IntoColor<U> for T
where U: FromColor<T>,

Source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
Source§

impl<T, U> IntoColorUnclamped<U> for T
where U: FromColorUnclamped<T>,

Source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
Source§

impl<T> IntoStimulus<T> for T

Source§

fn into_stimulus(self) -> T

Converts self into T, while performing the appropriate scaling, rounding and clamping.
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, C> TryComponentsInto<C> for T
where C: TryFromComponents<T>,

Source§

type Error = <C as TryFromComponents<T>>::Error

The error for when try_into_colors fails to cast.
Source§

fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>

Try to cast this collection of color components into a collection of colors. Read more
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, U> TryIntoColor<U> for T
where U: TryFromColor<T>,

Source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
Source§

impl<C, U> UintsFrom<C> for U
where C: IntoUints<U>,

Source§

fn uints_from(colors: C) -> U

Cast a collection of colors into a collection of unsigned integers.
Source§

impl<C, U> UintsInto<C> for U
where C: FromUints<U>,

Source§

fn uints_into(self) -> C

Cast this collection of unsigned integers into a collection of colors.