windjammer_ui/components/generated/
slider.rs1#![allow(clippy::all)]
2#![allow(noop_method_call)]
3use super::traits::Renderable;
4
5#[derive(Debug, Clone, PartialEq, Default)]
6pub struct Slider {
7 pub min: f64,
8 pub max: f64,
9 pub step: f64,
10 pub value: f64,
11 pub disabled: bool,
12 pub label: String,
13}
14
15impl Slider {
16 #[inline]
17 pub fn new() -> Slider {
18 Slider {
19 min: 0.0,
20 max: 100.0,
21 step: 1.0,
22 value: 50.0,
23 disabled: false,
24 label: "".to_string(),
25 }
26 }
27 #[inline]
28 pub fn min(mut self, min: f64) -> Slider {
29 self.min = min;
30 self
31 }
32 #[inline]
33 pub fn max(mut self, max: f64) -> Slider {
34 self.max = max;
35 self
36 }
37 #[inline]
38 pub fn step(mut self, step: f64) -> Slider {
39 self.step = step;
40 self
41 }
42 #[inline]
43 pub fn value(mut self, value: f64) -> Slider {
44 self.value = value;
45 self
46 }
47 #[inline]
48 pub fn disabled(mut self, disabled: bool) -> Slider {
49 self.disabled = disabled;
50 self
51 }
52 #[inline]
53 pub fn label(mut self, label: String) -> Slider {
54 self.label = label;
55 self
56 }
57}
58
59impl Renderable for Slider {
60 #[inline]
61 fn render(self) -> String {
62 let disabled_attr = {
63 if self.disabled {
64 " disabled".to_string()
65 } else {
66 "".to_string()
67 }
68 };
69 let label_html = {
70 if self.label != "" {
71 format!("{}{}{}", "<label>".to_string(), self.label, "</label>")
72 } else {
73 "".to_string()
74 }
75 };
76 format!(
77 "{}<input type='range' class='wj-slider' min='{}' max='{}' step='{}' value='{}'{}>",
78 label_html, self.min, self.max, self.step, self.value, disabled_attr
79 )
80 }
81}