#[derive(Clone, Debug, Default)]
pub struct ChartTooltip {
pub enabled: bool,
pub format: ChartTooltipFormat,
pub position: ChartTooltipPosition,
}
impl ChartTooltip {
pub fn new() -> Self {
Self::default()
}
pub fn enabled() -> Self {
Self {
enabled: true,
..Default::default()
}
}
pub fn enable(mut self, enabled: bool) -> Self {
self.enabled = enabled;
self
}
pub fn format(mut self, format: ChartTooltipFormat) -> Self {
self.format = format;
self
}
pub fn custom_format(mut self, format: impl Into<String>) -> Self {
self.format = ChartTooltipFormat::Custom(format.into());
self
}
pub fn position(mut self, position: ChartTooltipPosition) -> Self {
self.position = position;
self
}
}
#[derive(Clone, Debug, Default)]
pub enum ChartTooltipFormat {
#[default]
Auto,
Custom(String),
}
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum ChartTooltipPosition {
#[default]
Follow,
Fixed,
}