windjammer_ui/components/generated/
tooltip.rs1#![allow(clippy::all)]
2#![allow(noop_method_call)]
3use super::traits::Renderable;
4
5#[derive(Clone, Debug, PartialEq, Copy)]
6pub enum TooltipPosition {
7 Top,
8 Bottom,
9 Left,
10 Right,
11}
12
13#[derive(Debug, Clone, PartialEq)]
14pub struct Tooltip {
15 pub text: String,
16 pub position: TooltipPosition,
17 pub child: String,
18}
19
20impl Tooltip {
21 #[inline]
22 pub fn new(text: String, child: String) -> Tooltip {
23 Tooltip {
24 text,
25 position: TooltipPosition::Top,
26 child,
27 }
28 }
29 #[inline]
30 pub fn position(mut self, position: TooltipPosition) -> Tooltip {
31 self.position = position;
32 self
33 }
34}
35
36impl Renderable for Tooltip {
37 #[inline]
38 fn render(self) -> String {
39 let position_class = match self.position {
40 TooltipPosition::Top => "wj-tooltip-top".to_string(),
41 TooltipPosition::Bottom => "wj-tooltip-bottom".to_string(),
42 TooltipPosition::Left => "wj-tooltip-left".to_string(),
43 TooltipPosition::Right => "wj-tooltip-right".to_string(),
44 };
45 format!(
46 "<div class='wj-tooltip-container {}'>{}<span class='wj-tooltip-text'>{}</span></div>",
47 position_class, self.child, self.text
48 )
49 }
50}