using System.Text.Json.Serialization; namespace RobotNet.WebApp.Charts.Models.RadarChart.Axis; public class GridLines { /// /// If false, do not display grid lines for this axis. /// public bool Display { get; set; } = true; /// /// If true, gridlines are circular (on radar chart only). /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public bool? Circular { get; set; } /// /// The color of the grid lines. If specified as an array, the first color applies to the first grid line, the second to the second grid line and so on. /// See for working with colors. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? Color { get; set; } /// /// Length and spacing of dashes on grid lines /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public double[]? BorderDash { get; set; } /// /// Stroke width of grid lines. /// public double LineWidth { get; set; } = 1; /// /// If true, draw border at the edge between the axis and the chart area. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public bool? DrawBorder { get; set; } /// /// If true, 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. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public bool? DrawOnChartArea { get; set; } /// /// If true, draw lines beside the ticks in the axis area beside the chart. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public bool? DrawTicks { get; set; } /// /// Length in pixels that the grid lines will draw into the axis area. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public int? TickMarkLength { get; set; } /// /// Stroke width of the grid line for the first index (index 0). /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public int? ZeroLineWidth { get; set; } /// /// Stroke color of the grid line for the first index (index 0). /// See for working with colors. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? ZeroLineColor { get; set; } /// /// Length and spacing of dashes of the grid line for the first index (index 0). /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public double[]? ZeroLineBorderDash { get; set; } /// /// Offset for line dashes of the grid line for the first index (index 0). /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public double? ZeroLineBorderDashOffset { get; set; } /// /// If true, grid lines will be shifted to be between labels. This is set to true for a category scale in a bar chart by default. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public bool? OffsetGridLines { get; set; } }