windjammer_ui/components/generated/
dialog.rs

1#![allow(clippy::all)]
2#![allow(noop_method_call)]
3use super::traits::Renderable;
4
5pub struct Dialog {
6    title: String,
7    content: String,
8    open: bool,
9    width: String,
10}
11
12impl Dialog {
13    #[inline]
14    pub fn new(title: String, content: String) -> Dialog {
15        Dialog {
16            title,
17            content,
18            open: false,
19            width: "500px".to_string(),
20        }
21    }
22    #[inline]
23    pub fn open(mut self, open: bool) -> Dialog {
24        self.open = open;
25        self
26    }
27    #[inline]
28    pub fn width(mut self, width: String) -> Dialog {
29        self.width = width;
30        self
31    }
32}
33
34impl Renderable for Dialog {
35    #[inline]
36    fn render(self) -> String {
37        let display_style = {
38            if self.open {
39                "display: flex;"
40            } else {
41                "display: none;"
42            }
43        };
44        format!(
45            "<div class='wj-dialog-overlay' style='{}'>
46  <div class='wj-dialog' style='max-width: {}; width: 90%;'>
47    <div class='wj-dialog-header'>
48      <h2>{}</h2>
49      <button class='wj-dialog-close'>×</button>
50    </div>
51    <div class='wj-dialog-content'>
52      {}
53    </div>
54  </div>
55</div>",
56            display_style, self.width, self.title, self.content
57        )
58    }
59}