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