windjammer_ui/components/generated/
spinner.rs1#![allow(clippy::all)]
2#![allow(noop_method_call)]
3use std::fmt::Write;
4
5use super::traits::Renderable;
6
7pub enum SpinnerSize {
8 Small,
9 Medium,
10 Large,
11}
12
13pub struct Spinner {
14 size: SpinnerSize,
15 label: String,
16}
17
18impl Spinner {
19 #[inline]
20 pub fn new() -> Spinner {
21 Spinner {
22 size: SpinnerSize::Medium,
23 label: "".to_string(),
24 }
25 }
26 #[inline]
27 pub fn size(mut self, size: SpinnerSize) -> Spinner {
28 self.size = size;
29 self
30 }
31 #[inline]
32 pub fn label(mut self, label: String) -> Spinner {
33 self.label = label;
34 self
35 }
36}
37
38impl Renderable for Spinner {
39 #[inline]
40 fn render(self) -> String {
41 let size_class = match self.size {
42 SpinnerSize::Small => "wj-spinner-sm",
43 SpinnerSize::Medium => "wj-spinner-md",
44 SpinnerSize::Large => "wj-spinner-lg",
45 };
46 let spinner_html = {
47 let mut __s = String::with_capacity(64);
48 write!(&mut __s, "<div class='wj-spinner {}'></div>", size_class).unwrap();
49 __s
50 };
51 if self.label != "" {
52 format!("<div class='wj-spinner-container'>{}<span class='wj-spinner-label'>{}</span></div>", spinner_html, self.label)
53 } else {
54 spinner_html
55 }
56 }
57}