use super::*;
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct LabelOffset {
pub x: f64,
pub y: f64,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct ItemStyleOption {
pub color: Option<String>,
pub border_color: Option<String>,
pub border_width: Option<f64>,
pub border_radius: Option<f64>,
pub shadow: Option<ShadowOption>,
pub opacity: Option<f64>,
pub gradient: Option<(String, String)>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct ShadowOption {
pub offset_x: f64,
pub offset_y: f64,
pub blur: f64,
pub color: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct LineStyleOption {
pub color: Option<String>,
pub width: Option<f64>,
pub line_type: Option<LineType>,
pub opacity: Option<f64>,
pub cap: Option<LineCap>,
pub join: Option<LineJoin>,
pub shadow: Option<ShadowOption>,
}
#[derive(Clone, Debug, Default, lombok_macros::Data, PartialEq)]
pub struct LabelOption {
#[get(type(copy))]
pub show: bool,
#[get(type(clone))]
pub text: Option<String>,
#[get(type(copy))]
pub position: Option<Position>,
#[get(type(copy))]
pub offset: Option<LabelOffset>,
#[get(type(copy))]
pub distance: Option<f64>,
#[get(type(copy))]
pub rotate: Option<f64>,
#[get(type(copy))]
pub align: Option<TextAlign>,
#[get(type(copy))]
pub vertical_align: Option<TextVerticalAlign>,
#[get(type(clone))]
pub color: Option<String>,
#[get(type(clone))]
pub font_family: Option<String>,
#[get(type(copy))]
pub font_size: Option<f64>,
#[get(type(clone))]
pub font_weight: Option<String>,
#[get(type(clone))]
pub font_style: Option<String>,
#[get(type(copy))]
pub line_height: Option<f64>,
#[get(type(clone))]
pub background_color: Option<String>,
#[get(type(copy))]
pub padding: Option<(f64, f64, f64, f64)>,
#[get(type(clone))]
pub border_color: Option<String>,
#[get(type(copy))]
pub border_width: Option<f64>,
#[get(type(copy))]
pub border_radius: Option<f64>,
#[get(type(copy))]
pub stroke: Option<bool>,
#[get(type(copy))]
pub stroke_width: Option<f64>,
#[get(type(clone))]
pub stroke_color: Option<String>,
#[get(type(copy))]
pub hide_overlap: Option<bool>,
#[get(type(clone))]
pub formatter: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct LabelLayoutOption {
pub hide_overlap: bool,
pub move_tolerance: Option<f64>,
pub label_line_lengths: Option<Vec<f64>>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct EmphasisOption {
pub enabled: bool,
pub item_style: Option<ItemStyleOption>,
pub line_style: Option<LineStyleOption>,
pub label: Option<LabelOption>,
pub scale: Option<bool>,
pub focus: Option<String>,
pub blur: Option<BlurOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct BlurOption {
pub item_style: Option<ItemStyleOption>,
pub line_style: Option<LineStyleOption>,
pub label: Option<LabelOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct MarkPointOption {
pub symbol: Option<String>,
pub symbol_size: Option<f64>,
pub item_style: Option<ItemStyleOption>,
pub label: Option<LabelOption>,
pub data: Vec<DataValue>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct MarkLineOption {
pub silent: bool,
pub line_style: Option<LineStyleOption>,
pub label: Option<LabelOption>,
pub mark_type: Option<MarkLineType>,
pub data: Vec<DataValue>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct MarkAreaOption {
pub silent: bool,
pub item_style: Option<ItemStyleOption>,
pub label: Option<LabelOption>,
pub data: Vec<DataValue>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct BarOptions {
pub bar_width: Option<f64>,
pub bar_max_width: Option<f64>,
pub bar_min_width: Option<f64>,
pub bar_gap: Option<String>,
pub bar_category_gap: Option<String>,
pub horizontal: bool,
pub show_background: bool,
pub background_style: Option<ItemStyleOption>,
pub bar_min_radius: Option<f64>,
pub stack: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct LineOptions {
pub area_style: Option<ItemStyleOption>,
pub smooth: Option<LineSmooth>,
pub smooth_monotone: Option<String>,
pub show_symbol: Option<bool>,
pub symbol: Option<SymbolType>,
pub symbol_size: Option<SymbolSize>,
pub symbol_rotate: Option<f64>,
pub show_all_symbol: Option<bool>,
pub clip: Option<bool>,
pub stack: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct PieOptions {
pub radius: Option<String>,
pub inner_radius: Option<String>,
pub center: Option<Vec<String>>,
pub start_angle: Option<f64>,
pub min_angle: Option<f64>,
pub max_angle: Option<f64>,
pub selected_offset: Option<f64>,
pub sort: Option<bool>,
pub rose_type: Option<String>,
pub label: Option<LabelOption>,
pub label_line: Option<LineStyleOption>,
pub round_cap: Option<bool>,
pub avoid_label_overlap: Option<bool>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct ScatterOptions {
pub symbol: Option<SymbolType>,
pub symbol_size: Option<SymbolSize>,
pub symbol_rotate: Option<f64>,
pub symbol_max_size: Option<f64>,
pub large: bool,
pub large_threshold: Option<f64>,
pub progressive: Option<usize>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct RadarOptions {
pub center: Option<Vec<String>>,
pub radius: Option<String>,
pub split_number: Option<usize>,
pub shape: Option<String>,
pub start_angle: Option<f64>,
pub area_style: Option<ItemStyleOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct GaugeOptions {
pub center: Option<Vec<String>>,
pub radius: Option<String>,
pub start_angle: Option<f64>,
pub end_angle: Option<f64>,
pub min: Option<f64>,
pub max: Option<f64>,
pub split_number: Option<usize>,
pub progress: Option<GaugeProgressOption>,
pub axis_line: Option<AxisLineOption>,
pub axis_tick: Option<AxisTickOption>,
pub split_line: Option<SplitLineOption>,
pub pointer: Option<PointerOption>,
pub anchor: Option<PointerOption>,
pub title: Option<LabelOption>,
pub detail: Option<LabelOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct GaugeProgressOption {
pub show: bool,
pub width: Option<f64>,
pub item_style: Option<ItemStyleOption>,
pub round_cap: Option<bool>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct AxisLineOption {
pub show: bool,
pub line_style: Option<LineStyleOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct AxisTickOption {
pub show: bool,
pub length: Option<f64>,
pub line_style: Option<LineStyleOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct SplitLineOption {
pub show: bool,
pub length: Option<f64>,
pub line_style: Option<LineStyleOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct PointerOption {
pub show: bool,
pub width: Option<f64>,
pub length: Option<String>,
pub item_style: Option<ItemStyleOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct FunnelOptions {
pub center: Option<Vec<String>>,
pub width: Option<String>,
pub height: Option<String>,
pub gap: Option<f64>,
pub label: Option<LabelOption>,
pub label_line: Option<LineStyleOption>,
pub min_size: Option<String>,
pub max_size: Option<String>,
pub sort: Option<bool>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct HeatmapOptions {
pub border_width: Option<f64>,
pub border_color: Option<String>,
pub item_style: Option<ItemStyleOption>,
pub min_size: Option<f64>,
pub label: Option<LabelOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct GraphOptions {
pub layout: Option<GraphLayout>,
pub roam: Option<bool>,
pub draggable: Option<bool>,
pub symbol_size: Option<SymbolSize>,
pub symbol: Option<SymbolType>,
pub label: Option<LabelOption>,
pub line_style: Option<LineStyleOption>,
pub edge_curveness: Option<f64>,
pub edge_symbol: Option<Vec<String>>,
pub links: Option<Vec<DataValue>>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct TreemapOptions {
pub layout: Option<TreemapLayout>,
pub left: Option<f64>,
pub right: Option<f64>,
pub top: Option<f64>,
pub bottom: Option<f64>,
pub roam: Option<bool>,
pub node_click: Option<String>,
pub label: Option<LabelOption>,
pub upper_label: Option<LabelOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct SunburstOptions {
pub center: Option<Vec<String>>,
pub radius: Option<Vec<String>>,
pub start_angle: Option<f64>,
pub label: Option<LabelOption>,
pub node_click: Option<String>,
pub highlight: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct BoxplotOptions {
pub box_width: Option<f64>,
pub label: Option<LabelOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct CandlestickOptions {
pub bar_width: Option<f64>,
pub bar_max_width: Option<f64>,
pub bar_min_width: Option<f64>,
pub color: Option<String>,
pub color0: Option<String>,
pub border_color: Option<String>,
pub border_color0: Option<String>,
pub label: Option<LabelOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct ThemeRiverOptions {
pub single_width: Option<f64>,
pub item_style: Option<ItemStyleOption>,
pub label: Option<LabelOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct SankeyOptions {
pub align: Option<String>,
pub node_gap: Option<f64>,
pub node_width: Option<f64>,
pub link_curveness: Option<f64>,
pub roam: Option<bool>,
pub label: Option<LabelOption>,
pub line_style: Option<LineStyleOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct ParallelOptions {
pub layout: Option<String>,
pub distance: Option<f64>,
pub line_width: Option<f64>,
pub line_style: Option<LineStyleOption>,
pub axis_label: Option<LabelOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct PictorialBarOptions {
pub symbol: Option<String>,
pub symbol_size: Option<Vec<String>>,
pub symbol_position: Option<String>,
pub symbol_offset: Option<Vec<f64>>,
pub symbol_rotate: Option<f64>,
pub symbol_repeat: Option<bool>,
pub symbol_clip: Option<bool>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct LinesOptions {
pub polyline: bool,
pub line_style: Option<LineStyleOption>,
pub effect: Option<LinesEffectOption>,
pub blend_mode: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct LinesEffectOption {
pub show: bool,
pub period: Option<f64>,
pub constant_speed: Option<f64>,
pub trail_width: Option<f64>,
pub trail_color: Option<String>,
pub trail_length: Option<f64>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct MapOptions {
pub map_name: Option<String>,
pub geo_index: Option<usize>,
pub roam: Option<bool>,
pub label: Option<LabelOption>,
pub aspect_scale: Option<f64>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct CustomOptions {
pub renderer: Option<String>,
pub data: Vec<DataValue>,
}
#[derive(Clone, Debug, Default, lombok_macros::Data, PartialEq)]
pub struct SeriesOption {
#[get(type(copy))]
pub kind: SeriesType,
pub name: String,
pub data: Vec<DataValue>,
#[get(type(copy))]
pub x_axis_index: Option<usize>,
#[get(type(copy))]
pub y_axis_index: Option<usize>,
#[get(type(copy))]
pub polar_index: Option<usize>,
#[get(type(copy))]
pub radar_index: Option<usize>,
#[get(type(copy))]
pub geo_index: Option<usize>,
#[get(type(copy))]
pub calendar_index: Option<usize>,
#[get(type(copy))]
pub dataset_index: Option<usize>,
#[get(type(clone))]
pub stack: Option<String>,
#[get(type(copy))]
pub z: Option<i32>,
#[get(type(copy))]
pub zlevel: Option<i32>,
#[get(type(copy))]
pub silent: bool,
#[get(type(copy))]
pub show: bool,
#[get(type(copy))]
pub animation: Option<bool>,
#[get(type(clone))]
pub item_style: Option<ItemStyleOption>,
#[get(type(clone))]
pub line_style: Option<LineStyleOption>,
#[get(type(clone))]
pub label: Option<LabelOption>,
#[get(type(clone))]
pub label_layout: Option<LabelLayoutOption>,
#[get(type(clone))]
pub emphasis: Option<EmphasisOption>,
#[get(type(clone))]
pub blur: Option<BlurOption>,
#[get(type(clone))]
pub mark_point: Option<MarkPointOption>,
#[get(type(clone))]
pub mark_line: Option<MarkLineOption>,
#[get(type(clone))]
pub mark_area: Option<MarkAreaOption>,
#[get(type(clone))]
pub color: Option<String>,
#[get(type(clone))]
pub bar: Option<BarOptions>,
#[get(type(clone))]
pub line: Option<LineOptions>,
#[get(type(clone))]
pub pie: Option<PieOptions>,
#[get(type(clone))]
pub scatter: Option<ScatterOptions>,
#[get(type(clone))]
pub radar: Option<RadarOptions>,
#[get(type(clone))]
pub gauge: Option<GaugeOptions>,
#[get(type(clone))]
pub funnel: Option<FunnelOptions>,
#[get(type(clone))]
pub heatmap: Option<HeatmapOptions>,
#[get(type(clone))]
pub graph: Option<GraphOptions>,
#[get(type(clone))]
pub treemap: Option<TreemapOptions>,
#[get(type(clone))]
pub sunburst: Option<SunburstOptions>,
#[get(type(clone))]
pub boxplot: Option<BoxplotOptions>,
#[get(type(clone))]
pub candlestick: Option<CandlestickOptions>,
#[get(type(clone))]
pub theme_river: Option<ThemeRiverOptions>,
#[get(type(clone))]
pub sankey: Option<SankeyOptions>,
#[get(type(clone))]
pub parallel: Option<ParallelOptions>,
#[get(type(clone))]
pub pictorial_bar: Option<PictorialBarOptions>,
#[get(type(clone))]
pub lines: Option<LinesOptions>,
#[get(type(clone))]
pub map: Option<MapOptions>,
#[get(type(clone))]
pub custom: Option<CustomOptions>,
}
#[derive(Clone, Debug, Default, lombok_macros::Data, PartialEq)]
pub struct TitleOption {
pub text: String,
pub subtext: String,
#[get(type(copy))]
pub left: Option<Position>,
#[get(type(copy))]
pub top: Option<Position>,
#[get(type(copy))]
pub right: Option<Position>,
#[get(type(copy))]
pub bottom: Option<Position>,
#[get(type(clone))]
pub text_style: Option<LabelOption>,
#[get(type(clone))]
pub subtext_style: Option<LabelOption>,
#[get(type(copy))]
pub item_gap: Option<f64>,
#[get(type(copy))]
pub show: bool,
#[get(type(clone))]
pub link: Option<String>,
#[get(type(clone))]
pub sublink: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct LegendOption {
pub data: Vec<String>,
pub show: bool,
pub orient: Option<Orientation>,
pub left: Option<Position>,
pub top: Option<Position>,
pub right: Option<Position>,
pub bottom: Option<Position>,
pub item_width: Option<f64>,
pub item_height: Option<f64>,
pub item_gap: Option<f64>,
pub item_gap_horizontal: Option<f64>,
pub item_gap_vertical: Option<f64>,
pub text_style: Option<LabelOption>,
pub item_style: Option<ItemStyleOption>,
pub selected: Option<Vec<String>>,
pub type_scroll: Option<String>,
pub scroll: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct GridOption {
pub left: Option<Position>,
pub right: Option<Position>,
pub top: Option<Position>,
pub bottom: Option<Position>,
pub contain_label: Option<bool>,
pub width: Option<f64>,
pub height: Option<f64>,
pub background_color: Option<String>,
pub show: bool,
pub border_color: Option<String>,
pub border_width: Option<f64>,
}
#[derive(Clone, Debug, Default, lombok_macros::Data, PartialEq)]
pub struct AxisOption {
#[get(type(copy))]
pub axis_type: AxisType,
pub data: Vec<DataValue>,
#[get(type(clone))]
pub name: Option<String>,
#[get(type(clone))]
pub name_location: Option<String>,
#[get(type(copy))]
pub name_gap: Option<f64>,
#[get(type(clone))]
pub name_text_style: Option<LabelOption>,
#[get(type(copy))]
pub position: Option<Position>,
#[get(type(copy))]
pub show: bool,
#[get(type(clone))]
pub axis_label: Option<LabelOption>,
#[get(type(clone))]
pub axis_line: Option<AxisLineOption>,
#[get(type(clone))]
pub axis_tick: Option<AxisTickOption>,
#[get(type(clone))]
pub split_line: Option<SplitLineOption>,
#[get(type(copy))]
pub min: Option<f64>,
#[get(type(copy))]
pub max: Option<f64>,
#[get(type(copy))]
pub split_gap: Option<f64>,
#[get(type(copy))]
pub split_number: Option<usize>,
#[get(type(copy))]
pub interval: Option<f64>,
#[get(type(copy))]
pub min_interval: Option<f64>,
#[get(type(copy))]
pub max_interval: Option<f64>,
#[get(type(copy))]
pub log_base: Option<f64>,
#[get(type(copy))]
pub boundary_gap: Option<f64>,
#[get(type(copy))]
pub align_ticks: Option<bool>,
#[get(type(copy))]
pub grid_index: Option<usize>,
#[get(type(copy))]
pub offset: Option<f64>,
#[get(type(clone))]
pub axis_pointer: Option<AxisPointerOption>,
#[get(type(clone))]
pub formatter: Option<String>,
#[get(type(clone))]
pub color: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct AxisPointerOption {
pub show: bool,
pub pointer_type: Option<String>,
pub label: Option<LabelOption>,
pub line_style: Option<LineStyleOption>,
pub shadow: Option<ShadowOption>,
pub snap: Option<bool>,
}
#[derive(Clone, Debug, Default, lombok_macros::Data, PartialEq)]
pub struct TooltipOption {
#[get(type(copy))]
pub show: bool,
#[get(type(copy))]
pub trigger: TriggerType,
#[get(type(clone))]
pub formatter: Option<String>,
#[get(type(clone))]
pub background_color: Option<String>,
#[get(type(clone))]
pub border_color: Option<String>,
#[get(type(copy))]
pub border_width: Option<f64>,
#[get(type(copy))]
pub padding: Option<(f64, f64, f64, f64)>,
#[get(type(clone))]
pub text_style: Option<LabelOption>,
#[get(type(clone))]
pub position: Option<Vec<f64>>,
#[get(type(copy))]
pub confine: Option<bool>,
#[get(type(clone))]
pub axis_pointer: Option<AxisPointerOption>,
#[get(type(clone))]
pub extra_css_text: Option<String>,
#[get(type(copy))]
pub transition_duration: Option<f64>,
#[get(type(clone))]
pub order: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct ToolboxOption {
pub show: bool,
pub left: Option<Position>,
pub top: Option<Position>,
pub right: Option<Position>,
pub bottom: Option<Position>,
pub feature: Option<ToolboxFeatureOption>,
pub orient: Option<Orientation>,
pub item_gap: Option<f64>,
pub item_size: Option<f64>,
pub icon_style: Option<ItemStyleOption>,
pub emphasis: Option<EmphasisOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct ToolboxFeatureOption {
pub data_zoom: Option<ToolboxFeatureSettings>,
pub restore: Option<ToolboxFeatureSettings>,
pub save_as_image: Option<ToolboxFeatureSettings>,
pub data_view: Option<ToolboxFeatureSettings>,
pub magic_type: Option<ToolboxFeatureSettings>,
pub brush: Option<ToolboxFeatureSettings>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct ToolboxFeatureSettings {
pub show: bool,
pub title: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct DataZoomOption {
pub zoom_type: DataZoomType,
pub x_axis_index: Option<usize>,
pub y_axis_index: Option<usize>,
pub grid_index: Option<usize>,
pub start: Option<f64>,
pub end: Option<f64>,
pub start_value: Option<f64>,
pub end_value: Option<f64>,
pub show: bool,
pub filler_color: Option<String>,
pub border_color: Option<String>,
pub border_width: Option<f64>,
pub handle_size: Option<String>,
pub label: Option<LabelOption>,
pub background_color: Option<String>,
pub data: Vec<DataValue>,
pub move_handle_size: Option<String>,
pub zoom_lock: Option<bool>,
pub disabled: Option<bool>,
pub throttle: Option<f64>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct VisualMapOption {
pub visual_type: VisualMapType,
pub show: bool,
pub min: Option<f64>,
pub max: Option<f64>,
pub dimension: Option<usize>,
pub series_index: Option<usize>,
pub split_number: Option<usize>,
pub colors: Vec<String>,
pub pieces: Vec<DataValue>,
pub out_of_range: Option<String>,
pub orient: Option<Orientation>,
pub left: Option<Position>,
pub top: Option<Position>,
pub right: Option<Position>,
pub bottom: Option<Position>,
pub item_width: Option<f64>,
pub item_height: Option<f64>,
pub calculable: Option<bool>,
pub text: Option<Vec<String>>,
pub text_style: Option<LabelOption>,
pub range: Option<Vec<f64>>,
pub precision: Option<usize>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct PolarOption {
pub center: Option<Vec<String>>,
pub radius: Option<String>,
pub start_angle: Option<f64>,
pub show: bool,
pub axis_line: Option<AxisLineOption>,
pub split_line: Option<SplitLineOption>,
pub split_area: Option<SplitAreaOption>,
pub angle_axis: Option<AxisOption>,
pub radius_axis: Option<AxisOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct SplitAreaOption {
pub show: bool,
pub area_style: Option<ItemStyleOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct RadarOption {
pub indicator: Vec<DataValue>,
pub center: Option<Vec<String>>,
pub radius: Option<String>,
pub start_angle: Option<f64>,
pub split_number: Option<usize>,
pub shape: Option<String>,
pub show: bool,
pub name: Option<String>,
pub axis_line: Option<AxisLineOption>,
pub split_line: Option<SplitLineOption>,
pub split_area: Option<SplitAreaOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct GeoOption {
pub map_name: Option<String>,
pub roam: Option<bool>,
pub center: Option<Vec<f64>>,
pub zoom: Option<f64>,
pub scale: Option<f64>,
pub regions: Vec<DataValue>,
pub label: Option<LabelOption>,
pub item_style: Option<ItemStyleOption>,
pub line_style: Option<LineStyleOption>,
pub emphasis: Option<EmphasisOption>,
pub show: bool,
pub aspect_scale: Option<f64>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct CalendarOption {
pub range: Option<Vec<String>>,
pub cell_size: Option<f64>,
pub orient: Option<Orientation>,
pub top: Option<f64>,
pub left: Option<f64>,
pub item_style: Option<ItemStyleOption>,
pub label: Option<LabelOption>,
pub line_style: Option<LineStyleOption>,
pub split_line: Option<SplitLineOption>,
pub year_label: Option<LabelOption>,
pub month_label: Option<LabelOption>,
pub day_label: Option<LabelOption>,
pub ranges: Vec<DataValue>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct DatasetOption {
pub source: Vec<DataValue>,
pub source_type: Option<DatasetSourceType>,
pub dimensions: Vec<String>,
pub dimensions_defined: Option<String>,
pub encode: Option<DataValue>,
pub source_header: Option<bool>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct GraphicOption {
pub element_type: Option<String>,
pub left: Option<Position>,
pub top: Option<Position>,
pub right: Option<Position>,
pub bottom: Option<Position>,
pub bounding: Option<String>,
pub rotation: Option<f64>,
pub width: Option<f64>,
pub height: Option<f64>,
pub children: Vec<GraphicOption>,
pub style: Option<ItemStyleOption>,
pub text: Option<LabelOption>,
pub text_content: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct BrushOption {
pub show: bool,
pub toolbox: Option<Vec<String>>,
pub x_axis_index: Option<usize>,
pub y_axis_index: Option<usize>,
pub brush_link: Option<Vec<String>>,
pub areas: Vec<DataValue>,
pub brush_style: Option<ItemStyleOption>,
pub throttle_type: Option<String>,
pub throttle_delay: Option<f64>,
}
#[derive(Clone, Debug, Default, lombok_macros::Data, PartialEq)]
pub struct ChartOption {
#[get(type(clone))]
pub title: Option<TitleOption>,
#[get(type(clone))]
pub legend: Option<LegendOption>,
#[get(type(clone))]
pub grid: Option<GridOption>,
pub x_axis: Vec<AxisOption>,
pub y_axis: Vec<AxisOption>,
pub polar: Vec<PolarOption>,
pub radar: Vec<RadarOption>,
pub geo: Vec<GeoOption>,
pub calendar: Vec<CalendarOption>,
#[get(type(clone))]
pub dataset: Option<DatasetOption>,
pub series: Vec<SeriesOption>,
#[get(type(clone))]
pub tooltip: Option<TooltipOption>,
#[get(type(clone))]
pub toolbox: Option<ToolboxOption>,
pub data_zoom: Vec<DataZoomOption>,
pub visual_map: Vec<VisualMapOption>,
pub graphic: Vec<GraphicOption>,
#[get(type(clone))]
pub brush: Option<BrushOption>,
#[get(type(clone))]
pub axis_pointer: Option<AxisPointerOption>,
pub color: Vec<String>,
#[get(type(clone))]
pub background_color: Option<String>,
#[get(type(clone))]
pub text_style: Option<LabelOption>,
#[get(type(copy))]
pub animation: bool,
#[get(type(copy))]
pub animation_duration: Option<f64>,
#[get(type(clone))]
pub animation_easing: Option<String>,
#[get(type(copy))]
pub animation_delay: Option<f64>,
#[get(type(copy))]
pub animation_duration_update: Option<f64>,
#[get(type(clone))]
pub animation_easing_update: Option<String>,
#[get(type(copy))]
pub use_utc: Option<bool>,
#[get(type(clone))]
pub aria: Option<AriaOption>,
}
#[derive(Clone, Debug, Default, PartialEq)]
pub struct AriaOption {
pub enabled: bool,
pub description: Option<String>,
pub decal: Option<DataValue>,
}