Skip to main content

NavItem

Struct NavItem 

pub struct NavItem {
Show 24 fields pub id: String, pub label: String, pub icon: Option<Icon>, pub count: Option<NavCount>, pub actions: bool, pub children: Vec<NavItem>, pub expanded: bool, pub ensure_expanded: bool, pub drop_target: bool, pub editable_label: bool, pub secondary: Option<String>, pub meta: Option<String>, pub status: Option<NavItemStatus>, pub status_label: Option<(String, Tone)>, pub badge: Option<String>, pub swatch: Option<AlphaColor<Srgb>>, pub art: Option<NavArt>, pub checked: Option<bool>, pub level: Option<f32>, pub presence: Vec<String>, pub person: Option<NavPerson>, pub unread: bool, pub semantic_key: Option<String>, pub search_terms: Vec<NavSearchTerm>,
}
Expand description

One destination. Every part but the label is optional.

Fields§

§id: String

Stable across rebuilds; selection, expansion and focus follow it.

§label: String§icon: Option<Icon>§count: Option<NavCount>§actions: bool

Show the list’s item actions (NavList::item_actions) on this row on hover and focus.

§children: Vec<NavItem>

Nested destinations, indented one step.

§expanded: bool

Starts expanded (only meaningful with children).

§ensure_expanded: bool

Opens even where the person folded it (the place the app just revealed).

§drop_target: bool

Other items may be dragged into this one (NavList::on_move).

§editable_label: bool

The label can be renamed in place (NavList::on_rename_action).

§secondary: Option<String>§meta: Option<String>§status: Option<NavItemStatus>§status_label: Option<(String, Tone)>§badge: Option<String>§swatch: Option<AlphaColor<Srgb>>§art: Option<NavArt>

A picture in the icon’s place (an album’s cover).

§checked: Option<bool>§level: Option<f32>§presence: Vec<String>§person: Option<NavPerson>

The person the row stands for, as their avatar in the icon’s place.

§unread: bool

Something new waits behind the row (an unread conversation).

§semantic_key: Option<String>

The key assistive technology and tests address the row by; the default is nav:item:{id}.

§search_terms: Vec<NavSearchTerm>

What else the row is found by when the list is filtered: the things the destination holds (“Tap to click” on a touchpad page) and the words people use for them. A row found by a term that has a name shows that name under its label.

Implementations§

§

impl NavItem

pub fn new(id: impl Into<String>, label: impl Into<String>) -> NavItem

pub fn search_terms( self, terms: impl IntoIterator<Item = NavSearchTerm>, ) -> NavItem

Also found, when the list is filtered, by terms: what the destination holds and the words people use for it.

pub fn icon(self, icon: Icon) -> NavItem

pub fn count(self, count: u32) -> NavItem

A quiet count (items in a folder). Zero shows nothing: a count means something wants attention, and nothing does.

pub fn live_count(self, count: u32) -> NavItem

A count that wants attention (unread, mentions): the list’s one filled badge, in the person’s colour. Zero shows nothing.

pub fn children(self, children: Vec<NavItem>) -> NavItem

pub fn expanded(self) -> NavItem

pub fn ensure_expanded(self) -> NavItem

Open this item whenever the sections are handed over, even where the person folded it: the place the app is revealing (the database a connection just opened).

pub fn drop_target(self) -> NavItem

pub fn editable_label(self) -> NavItem

pub fn without_actions(self) -> NavItem

This row offers none of the list’s item actions.

pub fn secondary(self, text: impl Into<String>) -> NavItem

One Caption line under the label (a host and port, a schedule). It elides; the row grows to hold it.

pub fn meta(self, text: impl Into<String>) -> NavItem

A tertiary figure at the trailing edge (a size).

pub fn status(self, status: RowStatus<'_>) -> NavItem

A status dot at the trailing edge: a drive’s health, a connection’s state, an account that needs attention, a person’s presence.

pub fn status_label(self, label: impl Into<String>, tone: Tone) -> NavItem

A quiet tinted badge naming the row’s state (“Active”).

pub fn badge(self, code: impl Into<String>) -> NavItem

A short leading code that classifies the row (GET, POST). The codes of one section share a column, so their labels line up.

pub fn swatch(self, color: AlphaColor<Srgb>) -> NavItem

The content colour the row stands for (a calendar, a project), in the icon’s place.

pub fn art(self, name: impl Into<String>, image: Option<ImageData>) -> NavItem

A small rounded picture in the icon’s place: what the destination holds (an album’s cover), or the initials of name while it has none. The label lines up with the icons of the rows around it.

pub fn checked(self, checked: bool) -> NavItem

A checkbox in the leading slot (a calendar shown or hidden). The whole row toggles it and reports through NavList::on_check_action; a checkable row is not a destination and is never selected.

pub fn level(self, fraction: f32) -> NavItem

A usage bar under the label, fraction of it filled (a backup destination’s space).

pub fn presence(self, identity: impl Into<String>) -> NavItem

Someone is on this place: a mark in their presence colour. Call once per person.

pub fn person( self, identity: impl Into<String>, colour: Option<AlphaColor<Srgb>>, speaking: bool, ) -> NavItem

The row stands for a person (someone in a call): their avatar, in colour, in the icon’s place, ringed while speaking. With no colour, the avatar takes the colour their identity carries, as every face of them does.

pub fn person_face( self, name: impl Into<String>, image: Option<ImageData>, ) -> NavItem

The face of the person the row stands for (Self::person): the name their initials come from and their picture.

pub fn unread(self, unread: bool) -> NavItem

Something new waits behind the row: its label stands out at rest.

pub fn semantic_key(self, key: impl Into<String>) -> NavItem

The key assistive technology, agents and tests address the row by.

Trait Implementations§

§

impl Clone for NavItem

§

fn clone(&self) -> NavItem

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
§

impl Debug for NavItem

§

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

Formats the value using the given formatter. Read more
§

impl From<NavItemProps> for NavItem

§

fn from(props: NavItemProps) -> NavItem

Converts to this type from the input type.
§

impl PartialEq for NavItem

§

fn eq(&self, other: &NavItem) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl StructuralPartialEq for NavItem

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
§

impl<T> AnyEq for T
where T: Any + PartialEq,

§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

§

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

§

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

§

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

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
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

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

§

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

§

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

§

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

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 = 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<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

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
§

impl<T> CommonTraits for T
where T: AsAny + Any + Debug + WasmNotSendSync,

§

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

§

impl<T> Fruit for T
where T: Send + Downcast,

§

impl<T> MaybeSendSync for T
where T: Send + Sync + ?Sized,

§

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

§

impl<T> WasmNotSendSync for T

§

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