pub struct Badge<M = ()>(/* private fields */);Expand description
badge: a pill chip.
Implementations§
Source§impl<M> Badge<M>
impl<M> Badge<M>
Sourcepub fn key(self, key: impl Into<NodeKey>) -> Self
pub fn key(self, key: impl Into<NodeKey>) -> Self
Identity among siblings: keeps the node’s id (and Tern’s view state) across reorders. A string, or an integer.
Examples found in repository?
680 fn head(&self) -> ui::Row<Msg> {
681 let title = ui::text(spans![
682 ui::span("Fleet").style("title"),
683 " ",
684 ui::span(format!(
685 "production · {} services · up {}",
686 self.services.len(),
687 ago(UPTIME + u64::from(self.ticks))
688 ))
689 .style("muted"),
690 ])
691 .key("title");
692 let worst = self
693 .services
694 .iter()
695 .map(|s| s.health)
696 .max_by_key(|h| match h {
697 Health::Healthy => 0,
698 Health::Degraded => 1,
699 Health::Down => 2,
700 })
701 .unwrap_or(Health::Healthy);
702 let status = match worst {
703 Health::Healthy => ui::badge("Operational").tone(Tone::Success),
704 Health::Degraded => ui::badge("Degraded").tone(Tone::Warning),
705 Health::Down => ui::badge("Partial outage").tone(Tone::Error),
706 };
707 let refresh = ui::button("Refresh")
708 .key("refresh")
709 .icon("repeat")
710 .keys(["r"])
711 .on_click(Msg::Refresh);
712 ui::row()
713 .key("head")
714 .justify("between")
715 .align("center")
716 .child(title)
717 .child(
718 ui::row()
719 .key("end")
720 .gap("sm")
721 .align("center")
722 .children(nodes![status.key("status"), refresh]),
723 )
724 }Sourcepub fn role(self, role: impl Into<String>) -> Self
pub fn role(self, role: impl Into<String>) -> Self
A name of yours, exposed to CSS as data-role.
Sourcepub fn tone(self, tone: impl Into<Tone>) -> Self
pub fn tone(self, tone: impl Into<Tone>) -> Self
The semantic color of the node’s chrome.
Examples found in repository?
680 fn head(&self) -> ui::Row<Msg> {
681 let title = ui::text(spans![
682 ui::span("Fleet").style("title"),
683 " ",
684 ui::span(format!(
685 "production · {} services · up {}",
686 self.services.len(),
687 ago(UPTIME + u64::from(self.ticks))
688 ))
689 .style("muted"),
690 ])
691 .key("title");
692 let worst = self
693 .services
694 .iter()
695 .map(|s| s.health)
696 .max_by_key(|h| match h {
697 Health::Healthy => 0,
698 Health::Degraded => 1,
699 Health::Down => 2,
700 })
701 .unwrap_or(Health::Healthy);
702 let status = match worst {
703 Health::Healthy => ui::badge("Operational").tone(Tone::Success),
704 Health::Degraded => ui::badge("Degraded").tone(Tone::Warning),
705 Health::Down => ui::badge("Partial outage").tone(Tone::Error),
706 };
707 let refresh = ui::button("Refresh")
708 .key("refresh")
709 .icon("repeat")
710 .keys(["r"])
711 .on_click(Msg::Refresh);
712 ui::row()
713 .key("head")
714 .justify("between")
715 .align("center")
716 .child(title)
717 .child(
718 ui::row()
719 .key("end")
720 .gap("sm")
721 .align("center")
722 .children(nodes![status.key("status"), refresh]),
723 )
724 }Keeps the node mounted but not laid out.
Sourcepub fn mark(self, mark: impl Into<Mark>) -> Self
pub fn mark(self, mark: impl Into<Mark>) -> Self
A transient selection mark drawn over the node.
Sourcepub fn aria(self, aria: impl Into<String>) -> Self
pub fn aria(self, aria: impl Into<String>) -> Self
The accessible name of a node that shows no text.
Sourcepub fn hovercard<N>(self, card: impl Into<Node<N>>) -> Self
pub fn hovercard<N>(self, card: impl Into<Node<N>>) -> Self
A floating card of card’s tree shown while the pointer rests on
the node, in place of title. Sent id-less (ids, keys and handlers
inside are ignored); an older Tern ignores it.
Sourcepub fn href(self, href: impl Into<String>) -> Self
pub fn href(self, href: impl Into<String>) -> Self
A link: ⌘-click opens it; copy and open use it.
Sourcepub fn basis(self, basis: impl Into<Basis>) -> Self
pub fn basis(self, basis: impl Into<Basis>) -> Self
Flex basis: a fraction of the parent, or the content’s size.
Sourcepub fn prop(self, name: &str, value: impl Serialize) -> Self
pub fn prop(self, name: &str, value: impl Serialize) -> Self
Sets any prop untyped; null removes it.
Sourcepub fn on_click(self, msg: M) -> Self
pub fn on_click(self, msg: M) -> Self
Sends msg on a click (sets actions.click to "click" unless
the node names its click action itself).
Sourcepub fn on_dblclick(self, msg: M) -> Self
pub fn on_dblclick(self, msg: M) -> Self
Sends msg on a double click (sets actions.dblclick to
"dblclick" unless the node names it).
Adds act to the context menu and sends msg when it is picked.
Sourcepub fn on_action(self, act: impl Into<String>, msg: M) -> Self
pub fn on_action(self, act: impl Into<String>, msg: M) -> Self
Sends msg on action events whose action is act (name or
name=value).
Sourcepub fn on_action_with(
self,
act: impl Into<String>,
f: impl Fn(&Action) -> M + Send + Sync + 'static,
) -> Self
pub fn on_action_with( self, act: impl Into<String>, f: impl Fn(&Action) -> M + Send + Sync + 'static, ) -> Self
Maps action events whose action is act to a message.
Sourcepub fn on_toggle(self, f: impl Fn(bool) -> M + Send + Sync + 'static) -> Self
pub fn on_toggle(self, f: impl Fn(bool) -> M + Send + Sync + 'static) -> Self
Maps toggle events (the new collapsed; a menu, select or trace
line that opened is not collapsed) to a message.
Sourcepub fn on_select(self, f: impl Fn(&str) -> M + Send + Sync + 'static) -> Self
pub fn on_select(self, f: impl Fn(&str) -> M + Send + Sync + 'static) -> Self
Maps select events (the item) to a message. On a list’s item the
item’s own handler runs first.
Sourcepub fn on_activate(self, f: impl Fn(&str) -> M + Send + Sync + 'static) -> Self
pub fn on_activate(self, f: impl Fn(&str) -> M + Send + Sync + 'static) -> Self
Maps activate events (the item) to a message.
Sourcepub fn on_change(self, f: impl Fn(&Change) -> M + Send + Sync + 'static) -> Self
pub fn on_change(self, f: impl Fn(&Change) -> M + Send + Sync + 'static) -> Self
Maps change events to a message.
Sourcepub fn on_edit(self, f: impl Fn(&Edit) -> M + Send + Sync + 'static) -> Self
pub fn on_edit(self, f: impl Fn(&Edit) -> M + Send + Sync + 'static) -> Self
Maps edit events (native editing) to a message.