using RobotNet.WebApp.Charts.Models.BarChart.Axes;
using System.Text.Json.Serialization;

namespace RobotNet.WebApp.Charts.Models.RadarChart.Axis;

public class RadarAxis : ChartAxes
{
    /// <summary>
    /// Gets or sets the angle lines configuration.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public AngleLines? AngleLines { get; set; }

    /// <summary>
    /// Gets or sets the grid lines configuration.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public GridLines? GridLines { get; set; }

    /// <summary>
    /// Gets or sets the point labels configuration.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public PointLabels? PointLabels { get; set; }

    /// <summary>
    /// Gets or sets the ticks configuration.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public new RadialTicks? Ticks { get; set; }

    /// <summary>
    /// Whether to animate scaling the chart from the centre
    /// </summary>
    public bool Animate { get; set; } = true;

    /// <summary>
    /// Starting angle of the scale. In degrees, 0 is at top
    /// </summary>
    public double StartAngle { get; set; }
}
