windjammer_ui/components/generated/
list.rs1#![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}