using System.Text.Json.Serialization;
namespace RobotNet.WebApp.Charts.Models.BarChart.Axes;
public class ChartAxesGrid
{
///
/// If , gridlines are circular (on radar and polar area charts only).
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public bool? Circular { get; set; }
///
/// Color of the grid axis lines. Here one can write a CSS method or even a JavaScript method for a dynamic color.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Color { get; set; }
///
/// If false, do not display grid lines for this axis.
///
public bool Display { get; set; } = true;
///
/// If , draw lines on the chart area inside the axis lines. This is useful when there are multiple
/// axes and you need to control which grid lines are drawn.
///
public bool DrawOnChartArea { get; set; } = true;
///
/// If , draw lines beside the ticks in the axis area beside the chart.
///
public bool DrawTicks { get; set; } = true;
///
/// Stroke width of grid lines.
///
public int LineWidth { get; set; } = 1;
///
/// If , grid lines will be shifted to be between labels. This is set to true for a bar chart by
/// default.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public bool? Offset { get; set; } = false;
///
/// Length and spacing of the tick mark line.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public List? TickBorderDash { get; set; }
///
/// Offset for the line dash of the tick mark.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? TickBorderDashOffset { get; set; }
///
/// Color of the tick line. If unset, defaults to the grid line color.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? TickColor { get; set; }
///
/// Length in pixels that the grid lines will draw into the axis area.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? TickLength { get; set; }
///
/// Width of the tick mark in pixels.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? TickWidth { get; set; }
///
/// z-index of the gridline layer. Values <= 0 are drawn under datasets, > 0 on top.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? Z { get; set; }
}