windjammer_ui/components/generated/
list.rs

1#![allow(clippy::all)]
2#![allow(noop_method_call)]
3pub struct List {
4    items: Vec<String>,
5    ordered: bool,
6    class: String,
7}
8
9impl List {
10    #[inline]
11    pub fn new() -> List {
12        List {
13            items: Vec::new(),
14            ordered: false,
15            class: String::new(),
16        }
17    }
18    #[inline]
19    pub fn item(mut self, item: String) -> List {
20        self.items.push(item);
21        self
22    }
23    #[inline]
24    pub fn ordered(mut self, ordered: bool) -> List {
25        self.ordered = ordered;
26        self
27    }
28    #[inline]
29    pub fn class(mut self, class: String) -> List {
30        self.class = class;
31        self
32    }
33    pub fn render(&self) -> String {
34        let tag = {
35            if self.ordered {
36                "ol"
37            } else {
38                "ul"
39            }
40        };
41        let mut html = String::new();
42        html.push('<');
43        html.push_str(tag.clone());
44        html.push_str(" class=\"wj-list ");
45        html.push_str(self.class.as_str());
46        html.push_str("\" style=\"list-style-position: inside; padding-left: 0;\">");
47        for item in self.items.iter() {
48            html.push_str("<li style=\"padding: 8px 0;\">");
49            html.push_str(item.as_str());
50            html.push_str("</li>");
51        }
52        html.push_str("</");
53        html.push_str(tag);
54        html.push('>');
55        html
56    }
57}
58
59pub struct ListItem {
60    content: String,
61    class: String,
62}
63
64impl ListItem {
65    #[inline]
66    pub fn new(content: String) -> ListItem {
67        ListItem {
68            content,
69            class: String::new(),
70        }
71    }
72    #[inline]
73    pub fn class(mut self, class: String) -> ListItem {
74        self.class = class;
75        self
76    }
77    #[inline]
78    pub fn render(&self) -> String {
79        let mut html = String::new();
80        html.push_str("<li class=\"wj-list-item ");
81        html.push_str(self.class.as_str());
82        html.push_str("\" style=\"padding: 8px 0;\">");
83        html.push_str(self.content.as_str());
84        html.push_str("</li>");
85        html
86    }
87}