1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
use super::*; mod bound; mod utils; pub use bound::TraitBoundItem; #[derive(Clone, Debug)] pub struct Trait { name: String, path: String, } impl Renderable for Trait { fn render(&self) -> Html { self.get_name() } } impl Listable for Trait { fn left() -> Option<Html> { Some(Html::from(": ")) } fn delimiter() -> Html { Html::from(" + ") } } impl TableItem for Trait { fn get_group_name() -> String { String::from("Traits") } fn get_group_description() -> String { String::from("traits is xxxx") } fn get_name(&self) -> Html { match self.path.len() { 0 => html! {<span class="trait">{&self.name}</span>}, _ => html! {<a class="trait" href=self.path.as_str()>{&self.name}</a>}, } } fn get_doc(&self) -> Html { html! {<p>{"bbbbbbbb"}</p>} } } impl From<&str> for Trait { fn from(s: &str) -> Self { Self { name: String::from(s), path: String::new() } } }